* installing to library ‘/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages’
* installing *source* package ‘GpGp’ ...
** package ‘GpGp’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (Debian 14.2.0-8) 14.2.0’
make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpNmQtbP/R.INSTALL7978c14e3686f/GpGp/src'
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG  -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/BH/include' -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -fpic  -g -O2 -Wall -pedantic -mtune=native   -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG  -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/BH/include' -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -fpic  -g -O2 -Wall -pedantic -mtune=native   -c matrix_mult.cpp -o matrix_mult.o
g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG  -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/BH/include' -I/usr/local/include -D_FORTIFY_SOURCE=3  -fopenmp -fpic  -g -O2 -Wall -pedantic -mtune=native   -c vecchia_loglik_grad_info.cpp -o vecchia_loglik_grad_info.o
In file included from covmatrix_funs.h:9,
                 from onepass.h:8,
                 from vecchia_loglik_grad_info.cpp:8:
covmatrix_funs_01.h: In function ‘arma::cube d_exponential_isotropic(arma::vec, arma::mat)’:
covmatrix_funs_01.h:108:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  108 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_01.h: In function ‘arma::cube d_matern_isotropic(arma::vec, arma::mat)’:
covmatrix_funs_01.h:240:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  240 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_01.h: In function ‘arma::cube d_matern15_isotropic(arma::vec, arma::mat)’:
covmatrix_funs_01.h:341:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  341 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
In file included from covmatrix_funs.h:10:
covmatrix_funs_02.h: In function ‘arma::cube d_matern_anisotropic2D(arma::vec, arma::mat)’:
covmatrix_funs_02.h:150:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  150 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_02.h: In function ‘arma::cube d_matern_anisotropic3D(arma::vec, arma::mat)’:
covmatrix_funs_02.h:304:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  304 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_02.h: In function ‘arma::cube d_matern_anisotropic3D_alt(arma::vec, arma::mat)’:
covmatrix_funs_02.h:498:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  498 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_02.h: In function ‘arma::cube d_exponential_anisotropic2D(arma::vec, arma::mat)’:
covmatrix_funs_02.h:624:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  624 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_02.h: In function ‘arma::cube d_exponential_anisotropic3D(arma::vec, arma::mat)’:
covmatrix_funs_02.h:768:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  768 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_02.h:727:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  727 |     double nugget = covparms( 0 )*covparms( 7 );
      |            ^~~~~~
covmatrix_funs_02.h: In function ‘arma::cube d_exponential_anisotropic3D_alt(arma::vec, arma::mat)’:
covmatrix_funs_02.h:945:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  945 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
In file included from covmatrix_funs.h:11:
covmatrix_funs_03.h: In function ‘arma::mat matern_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_03.h:41:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   41 |     if( covparms.n_elem - 3 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_03.h: In function ‘arma::cube d_matern_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_03.h:90:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   90 |     if( covparms.n_elem - 3 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_03.h:144:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  144 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_03.h:95:12: warning: unused variable ‘nugget’ [-Wunused-variable]
   95 |     double nugget = covparms( 0 )*covparms( dim + 2 );
      |            ^~~~~~
covmatrix_funs_03.h: In function ‘arma::mat exponential_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_03.h:179:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  179 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_03.h: In function ‘arma::cube d_exponential_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_03.h:224:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  224 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_03.h:267:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  267 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_03.h:229:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  229 |     double nugget = covparms( 0 )*covparms( dim + 1 );
      |            ^~~~~~
covmatrix_funs_03.h: In function ‘arma::cube d_matern_spacetime(arma::vec, arma::mat)’:
covmatrix_funs_03.h:395:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  395 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_03.h:337:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  337 |     double nugget = covparms( 0 )*covparms( 4 );
      |            ^~~~~~
covmatrix_funs_03.h: In function ‘arma::cube d_exponential_spacetime(arma::vec, arma::mat)’:
covmatrix_funs_03.h:507:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  507 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
In file included from covmatrix_funs.h:16:
covmatrix_funs_08.h: In function ‘arma::cube d_matern_nonstat_var(arma::vec, arma::mat)’:
covmatrix_funs_08.h:156:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  156 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_08.h: In function ‘arma::cube d_exponential_nonstat_var(arma::vec, arma::mat)’:
covmatrix_funs_08.h:295:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  295 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
In file included from covmatrix_funs.h:17:
covmatrix_funs_09.h: In function ‘arma::mat matern15_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_09.h:39:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   39 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_09.h: In function ‘arma::cube d_matern15_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_09.h:84:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   84 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_09.h:127:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  127 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_09.h:89:12: warning: unused variable ‘nugget’ [-Wunused-variable]
   89 |     double nugget = covparms( 0 )*covparms( dim + 1 );
      |            ^~~~~~
In file included from covmatrix_funs.h:18:
covmatrix_funs_10.h: In function ‘arma::cube d_matern25_isotropic(arma::vec, arma::mat)’:
covmatrix_funs_10.h:102:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  102 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_10.h: In function ‘arma::mat matern25_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_10.h:137:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  137 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_10.h: In function ‘arma::cube d_matern25_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_10.h:182:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  182 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_10.h:226:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  226 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_10.h:187:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  187 |     double nugget = covparms( 0 )*covparms( dim + 1 );
      |            ^~~~~~
In file included from covmatrix_funs.h:19:
covmatrix_funs_11.h: In function ‘arma::cube d_matern35_isotropic(arma::vec, arma::mat)’:
covmatrix_funs_11.h:116:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  116 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_11.h: In function ‘arma::mat matern35_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_11.h:151:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  151 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_11.h: In function ‘arma::cube d_matern35_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_11.h:201:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  201 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_11.h:251:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  251 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_11.h:206:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  206 |     double nugget = covparms( 0 )*covparms( dim + 1 );
      |            ^~~~~~
In file included from covmatrix_funs.h:20:
covmatrix_funs_12.h: In function ‘arma::cube d_matern45_isotropic(arma::vec, arma::mat)’:
covmatrix_funs_12.h:118:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  118 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_12.h: In function ‘arma::mat matern45_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_12.h:153:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  153 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_12.h: In function ‘arma::cube d_matern45_scaledim(arma::vec, arma::mat)’:
covmatrix_funs_12.h:204:29: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  204 |     if( covparms.n_elem - 2 != dim ){
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~
covmatrix_funs_12.h:255:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  255 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_12.h:209:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  209 |     double nugget = covparms( 0 )*covparms( dim + 1 );
      |            ^~~~~~
In file included from covmatrix_funs.h:21:
covmatrix_funs_13.h: In function ‘arma::cube d_matern_categorical(arma::vec, arma::mat)’:
covmatrix_funs_13.h:177:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  177 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_13.h:126:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  126 |     double nugget = covparms( 0 )*covparms( 4 );
      |            ^~~~~~
covmatrix_funs_13.h:127:16: warning: unused variable ‘categ’ [-Wunused-variable]
  127 |         double categ = covparms(0)*covparms(3);
      |                ^~~~~
covmatrix_funs_13.h: In function ‘arma::cube d_matern_spacetime_categorical(arma::vec, arma::mat)’:
covmatrix_funs_13.h:373:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  373 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_13.h: In function ‘arma::cube d_matern_spacetime_categorical_local(arma::vec, arma::mat)’:
covmatrix_funs_13.h:661:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare]
  661 |             for(int j=0; j<covparms.n_elem; j++){
      |                          ~^~~~~~~~~~~~~~~~
covmatrix_funs_13.h:542:12: warning: unused variable ‘nugget’ [-Wunused-variable]
  542 |     double nugget = covparms(0)*covparms(8);
      |            ^~~~~~
onepass.h: In function ‘arma::mat mychol(arma::mat)’:
onepass.h:93:10: warning: variable ‘pd’ set but not used [-Wunused-but-set-variable]
   93 |     bool pd = true;
      |          ^~
onepass.h: In function ‘void synthesize_grouped(Rcpp::NumericVector, Rcpp::StringVector, Rcpp::NumericMatrix, Rcpp::List, Rcpp::NumericVector&, Rcpp::NumericMatrix, Rcpp::NumericVector*, Rcpp::NumericVector*, Rcpp::NumericVector*, Rcpp::NumericMatrix*, Rcpp::NumericMatrix*, bool, bool)’:
onepass.h:700:9: warning: unused variable ‘dim’ [-Wunused-variable]
  700 |     int dim = locs.ncol();
      |         ^~~
g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -Wl,-O1 -o GpGp.so RcppExports.o matrix_mult.o vecchia_loglik_grad_info.o -llapack -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lRblas -lgfortran -lm -lquadmath -fopenmp -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lR
make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpNmQtbP/R.INSTALL7978c14e3686f/GpGp/src'
make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpNmQtbP/R.INSTALL7978c14e3686f/GpGp/src'
make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpNmQtbP/R.INSTALL7978c14e3686f/GpGp/src'
installing to /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/00LOCK-GpGp/00new/GpGp/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
  converting help for package ‘GpGp’
    finding HTML links ... done
    GpGp                                    html  
    L_mult                                  html  
    L_t_mult                                html  
    Linv_mult                               html  
    Linv_t_mult                             html  
    argo2016                                html  
    cond_sim                                html  
    condition_number                        html  
    expit                                   html  
    exponential_anisotropic2D               html  
    exponential_anisotropic3D               html  
    exponential_anisotropic3D_alt           html  
    exponential_isotropic                   html  
    exponential_nonstat_var                 html  
    exponential_scaledim                    html  
    exponential_spacetime                   html  
    exponential_sphere                      html  
    exponential_sphere_warp                 html  
    exponential_spheretime                  html  
    exponential_spheretime_warp             html  
    fast_Gp_sim                             html  
    fast_Gp_sim_Linv                        html  
    find_ordered_nn                         html  
    find_ordered_nn_brute                   html  
    fisher_scoring                          html  
    fit_model                               html  
    get_linkfun                             html  
    get_penalty                             html  
    get_start_parms                         html  
    group_obs                               html  
    jason3                                  html  
    matern15_isotropic                      html  
    matern15_scaledim                       html  
    matern25_isotropic                      html  
    matern25_scaledim                       html  
    matern35_isotropic                      html  
    matern35_scaledim                       html  
    matern45_isotropic                      html  
    matern45_scaledim                       html  
    matern_anisotropic2D                    html  
    matern_anisotropic3D                    html  
    matern_anisotropic3D_alt                html  
    matern_categorical                      html  
    matern_isotropic                        html  
    matern_nonstat_var                      html  
    matern_scaledim                         html  
    matern_spacetime                        html  
    matern_spacetime_categorical            html  
    matern_spacetime_categorical_local      html  
    matern_sphere                           html  
    matern_sphere_warp                      html  
    matern_spheretime                       html  
    matern_spheretime_warp                  html  
    order_coordinate                        html  
    order_dist_to_point                     html  
    order_maxmin                            html  
    order_middleout                         html  
    pen_hi                                  html  
    pen_lo                                  html  
    pen_loglo                               html  
    predictions                             html  
    sph_grad_xyz                            html  
    summary.GpGp_fit                        html  
    test_likelihood_object                  html  
    vecchia_Linv                            html  
    vecchia_grouped_meanzero_loglik         html  
    vecchia_grouped_profbeta_loglik         html  
    vecchia_grouped_profbeta_loglik_grad_info
                                            html  
    vecchia_meanzero_loglik                 html  
    vecchia_profbeta_loglik                 html  
    vecchia_profbeta_loglik_grad_info       html  
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (GpGp)