How to place rectangles to selected element corners?

Report layout contains fields, horizontal and vertical lines and rectangles. Element can selected using jQuery UI selectable. How to place small rectangles to selected element borders like:

enter image description here

I tried the code below but since multiple ::before and ::after CSS elements are not supported, it is possible to draw only two rectangles. Also rectangles do not appear in the center of border lines:

enter image description here

$(".designer-panel-body").selectable();
.designer-label {
  position: absolute;
  border: solid 1px;
}

.ui-selected::before, .ui-selecting:before {
    content: "";
    position: absolute;
    left: 0px;
    background-color: black;
    height: 5px;
    width: 5px;
}

.ui-selected::after, .ui-selecting:after {
    content: "";
    position: absolute;
    background-color: black;
    height: 5px;
    width: 5px;
    right: 0px;
    bottom: 0px;
}

.ui-selected, .ui-selecting {
    border: solid 1px blue;
}

.ui-resizable-helper {
    border: 2px dotted #00F;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>

<div class='designer-panel-body' style='height:100px'>

  <div class='designer-label' style='top:10px'>
    Field1
  </div>
  
  <div class='designer-label' style='top:60px; left:20px'>
    Field2
  </div>

  <div class='designer-label' style='top:10px; left:120px; height:60px'>
  </div>

  <div class='designer-label' style='top:40px; left:130px; height:0;width:60px'>
  </div>

</div>

node.js de jwt token mdilveassi calismiyor [closed]

const jwt = require(‘jsonwebtoken’);

const authenticateToken = (req, res, next) => {
const token = req.header(‘Authorization’);

if (!token) return res.status(401).json({ message: ‘Access denied’ });

jwt.verify(token, process.env.JWT_SECRET, (err, user) => {
if (err) return res.status(403).json({ message: ‘Invalid token’ });

req.user = user;
next();

});
};

module.exports = authenticateToken;

if (err) return res.status(403).json({ message: 'Invalid token' });

burada duruyor

what should i chose to send emails… react email or email js? [closed]

I am currently building a react application and would like to put a ‘contact me’ at the bottom of the page which allows a user to explain whatever they need to say and it will send me the email.

I have done a bit of research and there are lots of tutorials for both react email and email js, which one do you recommend i use and why?

If there are any youtube tutorials that helped you out understanding better please link them as well, look forward to what you think.

thanks in advanced!

Get result of ng-select on form submit

I’m quite new with Angular.

I have this html file new-team.component.html :

<app-header></app-header>
<div class="container">
  <div class="row m-5">
    <div class="col">
      <div class="card">
        <div class="card-header">
          New team creation
        </div>
        <div class="card-body">
          <form #formNewTeam="ngForm" (ngSubmit)="onSubmitNewTeam(formNewTeam)">
            <div class="mb-3">
              <label for="teamName" class="form-label">Team Name</label>
              <input type="text" class="form-control" id="teamName" placeholder="Team name" ngModel #teamName="ngModel"
                name="teamName" required minlength="6" pattern="^[a-zA-Z0-9À-ú.-]{6,}">
              <div *ngIf="teamName.errors && formNewTeam.submitted" class="text-danger">
                <div *ngIf="teamName.errors['required']">Team Name is required</div>
                <div *ngIf="teamName.errors['pattern']">
                  Your team name must be at least 6 characters long and without special characters except -
                </div>
              </div>
            </div>
            <div class="mb-3">
              <ng-select [items]="countries" bindLabel="frenchName" bindValue="id" placeholder="Select a country for your team">
                <ng-template ng-label-tmp let-item="item">
                  <b>{{item.frenchName}}</b>
                </ng-template>
                <ng-template ng-option-tmp let-item="item" let-index="index">
                  <img height="18" width="25" [src]="item.logo" />
                  <b style="margin-left: 10px">{{item.frenchName}}</b>
                </ng-template>
              </ng-select>
            </div>
            <button type="submit" class="btn btn-primary">Create</button>
          </form>
        </div>
      </div>
    </div>
  </div>
</div>

and this is my component file

import { Component, OnDestroy, OnInit } from '@angular/core';
import { NgForm } from "@angular/forms";
import { Subscription } from "rxjs";
import { Country } from 'src/app/_models/country.model';
import { CountryService } from 'src/app/_services/country.service';
import { User } from "../../_models/user.model";
import { AuthService } from "../../_services/auth.service";

@Component({
  selector: 'app-new-team',
  templateUrl: './new-team.component.html',
  styleUrls: ['./new-team.component.scss']
})
export class NewTeamComponent implements OnInit, OnDestroy {
  user!: User;
  countries: Country[] = [];
  AuthUserSub!: Subscription;

  constructor(
    private authService: AuthService,
    private countryService: CountryService
  ) {
  }
  ngOnInit(): void {

    this.AuthUserSub = this.authService.AuthenticatedUser$.subscribe({
      next: user => {
        if (user) this.user = user;
      }
    })

    this.countryService.getAllCountries().subscribe({
      next: data => {
        this.countries = data;
        this.countries.forEach(element => {
          element.logo = "/assets/flags/" + element.logo;
        });
      },
      error: err => console.log(err)
    })
  }

  onSubmitNewTeam(formNewTeam: NgForm) {
    console.log(formNewTeam);
    if (!formNewTeam.valid) {
      return;
    }
  }

  ngOnDestroy() {
    this.AuthUserSub.unsubscribe();
  }
}

on the line where I call the console.log(formNewTeam); on my .ts file I just have the value of the input field, not the value selected into the ng-select.
How can I have both to send these two values ( input field + value of the ng-select ) to my backend API ?

By the way, Coutnry object contains id, frenchName, and logo

I should receive from the FORM these two values for example : teamName = "Real Madrid” and countryId = "10"

Thank you in advance

Why can’t my object read a property of a class in javascript? [closed]

So what I have is basically something like this

class MyClass {
  constructor() {
    this.style = {
      width: 2
    };
    this.#myFunction();
  }
  #myFunction(){
    const object = {width: this.style.width};
    console.log(object);
  }
}

new MyClass();

In this case when creating an object I cannot read from this because whatever I try to read from it it is undefined when I want to put the value inside a new object but further down the function I can use this.style without any issues

Enhancing TradingView Charts for Comprehensive Website Integration

I’m new to using TradingView charts for my website. I want to have a comprehensive chart similar to Image 2 and also utilize options like Replay and Trash Can. So far, I’ve only managed to find a chart resembling Image 1.

Could you guide me on how to add these additional options to my chart? Is there an API available that provides these features, even if it’s a paid service? If yes, please provide more details on where and how to purchase them, as I haven’t found any information on this so far. Does Site 2 use a different approach to access these features?

Thanks for your assistance!

Image 1 :
The chart that I managed to implement inside my web project using javascript

Image 2 :
enter image description here

Angular 1, Grails 2.5.6: How are Angular JS assets fetched?

I’m working on an old Grails code base. One of the pages (well, at least one) uses Angular 1.7.8. A few months ago, I made some client-side changes to the Angular page, which all work fine.

However, the other day another dev pointed out that the asset pipeline build was reporting failures for one of the JavaScript files involved, specifically about ?? in a couple of expressions. The Closure Compiler in the system, it turns out, is from 2016, so it doesn’t know what that means.

Even with that build failure, the application launches and the page works fine, as it did when I was first working on it. (I didn’t notice the errors; the build output is filled with noise so for me at least it’s easy to make that mistake.)

Specifically, the code in the containing GSP page looks like:

<div ng-app="mycompany.app.addressLocker">
  <address-locker-list>
  </address-locker-list>
</div>

Fixing that issue with the build was trivial of course; I just switched to ||. But I wondered why things worked with the errors. So from the page in the app running, I checked the HTTP requests for the JavaScript, and it was asking for

address-locker-list.component.js?compile=false

(That’s the file where the build error was.) However, with or without the build error, I still got the plain text of that source file, and of course the browser doesn’t mind the ??. So I checked the .war file, and in the assets tree there are four files:

target/assets/addresslocker/angular/address-locker-list/address-locker-list-b081ab79e0cd94698fbf64390b1079f3.html
target/assets/addresslocker/angular/address-locker-list/address-locker-list.component.unminified.js
target/assets/addresslocker/angular/address-locker-list/address-locker-list.component.js.map
target/assets/addresslocker/angular/address-locker-list/address-locker-list.component-9661c3fd0fbc0fb060bdd9e80f67fe1b.js

With the build error, the file with the checksum or hash or whatever is empty. With the fix, it’s got the minified code. However, note that in either case there is no file with the plain path address-locker-list.component.js. When I fetch that path as used by the client-side code from a separate browser tab, it works fine.

So my question is, what the heck is going on? Something, somewhere, as far as I can tell inside Grails code somewhere, something is deciding whether to use the minified or unminified version of the file, and (for more reasons I don’t know) always choosing the unminified version.

I am in no sense a Grails expert, nor am I an Angular expert, but as I’ve said everything in actual practice works just fine. But I would be grateful for any information on what sort of config stuff inside Grails needs to be modified to tell it it’s OK to use the minified code, or alternatively how to stop wasting all that time minifying a big pile of source code when the minified stuff is always ignored anyway.

Of course if it’d help to see the Angular code I’m happy to add it; I have not found anything in the JavaScript or HTML files (it’s a small cluster of code) that jumps out at me as having any bearing on my confusion.

How can i access an array inside array containing product object in javascript

Hey Fellow stackoverflowers, recently i got a new problem accessing array inside array and that inside array containg two objects product and quantity. Now i want to access that inside array how can i do that. Please if you have any solution please share with me:

const arrayOfArrays = [
 [
   { product: { name: 'Product 1', price: 10 }, quantity: 1 },
   { product: { name: 'Product 2', price: 20 }, quantity: 2 }
 ]
];

ERROR [ExceptionHandler] Nest can’t resolve dependencies of the MailAppService

iam trying to implement adapter pattern with sendgrid and nodemailer
but i get this error : ERROR [ExceptionHandler] Nest can’t resolve
dependencies of the MailAppService (?). Please make sure that the
argumen t Object at index [0] is available in the MailModule context.

Potential solutions:

  • Is MailModule a valid NestJS module?
  • If Object is a provider, is it part of the current MailModule?
  • If Object is exported from a separate @Module, is that module imported within MailModule? @Module({
    imports: [ /* the Module containing Object */ ] })
export interface MailServiceInterface {
  sendWelcomeEmail(email: string, name: string): Promise<void>;

  sendAccountDeletionEmail(email: string, name: string): Promise<void>;
}
import { Injectable } from '@nestjs/common';
import { MailServiceInterface } from '../interface/mail-service.interface';

@Injectable()
export class MailAppService {
  constructor(private readonly emailInterface: MailServiceInterface) {}

  async sendWelcomeEmail(email: string, name: string) {
    await this.emailInterface.sendWelcomeEmail(email, name);
  }

  async sendAccountDeletionEmail(email: string, name: string) {
    await this.emailInterface.sendAccountDeletionEmail(email, name);
  }
}
import { Injectable } from '@nestjs/common';
import { MailerService } from '@nestjs-modules/mailer';
import { envConfigurations } from '../../../../env/env.configuration';

@Injectable()
export class NodemailerService {
  constructor(private readonly mailerService: MailerService) {}

  async sendWelcomeEmail(email: string, name: string) {
    await this.mailerService.sendMail({
      to: email,
      from: envConfigurations().mail.from,
      subject: 'Welcome to Unknown App',
      text: `Welcome to the app, ${name}. Let me know how you get along with the app.`,
      template: './templates/welcome',
      context: {
        name,
      },
    });
  }

  
}
import { Injectable } from '@nestjs/common';
import { NodemailerService } from './nodemailer.service';
import { MailServiceInterface } from '../interface/mail-service.interface';

@Injectable()
export class NodemailerAdapterService implements MailServiceInterface {
  constructor(private readonly nodemailer: NodemailerService) {}

  async sendWelcomeEmail(email: string, name: string) {
    await this.nodemailer.sendWelcomeEmail(email, name);
  }

  async sendAccountDeletionEmail(email: string, name: string) {
    await this.nodemailer.sendAccountDeletionEmail(email, name);
  }
}
import { Injectable } from '@nestjs/common';
import * as SendGrid from '@sendgrid/mail';
import { envConfigurations } from '../../../../env/env.configuration';

@Injectable()
export class SendGridService {
  constructor() {
    SendGrid.setApiKey(envConfigurations().mail.sendGrid.apiKey);
    SendGrid.setSubstitutionWrappers('{{', '}}');
  }

  async send(mail: SendGrid.MailDataRequired) {
    return await SendGrid.send(mail);
  }

  async sendWelcomeEmail(email: string, name: string) {
    const mailData = {
      to: email,
      from: envConfigurations().mail.from,
      templateId: envConfigurations().mail.sendGrid.W_tempID,
      dynamic_template_data: {
        subject: 'Welcome to Unknown App',
        text: `Welcome to the app, ${name}. Let me know how you get along with the app.`,
      },
    };
    return await this.send(mailData);
  }


}
 

   import { Injectable } from '@nestjs/common';
    import { MailServiceInterface } from '../interface/mail-service.interface';
    import { SendGridService } from './sendGrid.service';

    @Injectable()
    export class SendGridAdapterService implements MailServiceInterface {
      constructor(private readonly sendGrid: SendGridService) {}

      async sendWelcomeEmail(email: string, name: string) {
        await this.sendGrid.sendWelcomeEmail(email, name);
      }

      async sendAccountDeletionEmail(email: string, name: string) {
        await this.sendGrid.sendAccountDeletionEmail(email, name);
      }
    }
import { Module } from '@nestjs/common';
import { SendGridService } from './service/sendGrid.service';
import { MailerModule } from '@nestjs-modules/mailer';
import { envConfigurations } from '../../../env/env.configuration';
import { HandlebarsAdapter } from '@nestjs-modules/mailer/dist/adapters/handlebars.adapter';
import { MailAppService } from './service/mail.service';
import { NodemailerService } from './service/nodemailer.service';
import { NodemailerAdapterService } from './service/nodemailer-adapter.service';
import { SendGridAdapterService } from './service/sendGrid-adapter.service';

@Module({
  imports: [
    MailerModule.forRoot({
      transport: {
        host: envConfigurations().mail.nodemailer.host,
        port: envConfigurations().mail.nodemailer.port,
        secure: envConfigurations().mail.nodemailer.secure,
        service: envConfigurations().mail.nodemailer.service,
        auth: {
          user: envConfigurations().mail.nodemailer.auth.user,
          pass: envConfigurations().mail.nodemailer.auth.pass,
        },
      },
      defaults: {
        from: `"No Reply" - <${envConfigurations().mail.from}>`,
      },
      template: {
        dir: process.cwd() + '/src/modules/mail/templates/',
        adapter: new HandlebarsAdapter(),
        options: {
          strict: true,
        },
      },
    }),
  ],
  providers: [
    MailAppService,
    NodemailerService,
    NodemailerAdapterService,
    SendGridAdapterService,
    SendGridService,
  ],
  controllers: [],
  exports: [MailAppService],
})
export class MailModule {}
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UsersModule } from './modules/users/users.module';
import { AuthModule } from './modules/auth/auth.module';
import { DeletedUsersModule } from './modules/deleted-users/deleted-users.module';
import { MongooseModule } from '@nestjs/mongoose';
import { TokenModule } from './modules/token/token.module';
import { HashModule } from './modules/common/hash/hash.module';
import { ConfigModule } from '@nestjs/config';
import { envConfigurations } from '../env/env.configuration';
import { MailModule } from './modules/mail/mail.module';

@Module({
  imports: [
    ConfigModule.forRoot({
      isGlobal: true,
      load: [envConfigurations],
      envFilePath: `${process.cwd()}/env/${process.env.NODE_ENV}.env`,
    }),
    MongooseModule.forRootAsync({
      useFactory: () => ({
        uri: envConfigurations().mongodb.MONGO_URI,
      }),
    }),
    UsersModule,
    AuthModule,
    DeletedUsersModule,
    TokenModule,
    HashModule,
    MailModule,
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

Discordjs client doesn’t recieve events

My client should recieve and handle interactions (slash commands) but doesn’t recieve anything instead

require("dotenv").config();
const { Client } = require("discord.js");
//disc = require("discord.js");
const axios = require("axios");

const token = process.env.BOT_TOKEN;

const client = new Client();

client.on("ready", () => {
  console.log(`Logged in as ${client.user.tag}`);
  hook_commands();
});

client.on("interactionCreate", async (interaction) => {
    console.log("interaction created");
});


client.login(token);


function hook_commands() {
//redacted, it works fine
}

Creating a hamburger menu. I used onclick to hide and show the nav items but after changing screen size the nav items do not show or are not flexed

I am trying to create a hamburger menu in mobile view.
When in mobile view the nav-item gets hidden and when i click the menu icon the nav-items will be displayed. But after clicking on the icon and changing the screen size the nav-item dissapper or their display:flex will be disabled.

I am new to Front End so I am getting stuck at this part.

Please have a look at the code in the codepen link below.

https://codepen.io/sankalpa-acharya/pen/rNROwdZ

    <div class="wrapper">
    <nav>
        <div class="logo">
          <h3>Hello</h3>
            <div class="hamburger">
                <i onclick="dropdown()" class="fa-solid fa-bars"></i>
            </div>
        </div>
        <div class="nav-items">
            <ul>
                <li>
                    <a href="#">Home</a>
                </li>
                <li>
                    <a href="#">About Me</a>
                </li>
                <li>
                    <a href="#">My Works</a>
                </li>
            </ul>
            <div class="button">
                <button>
                    Get in touch
                </button>
            </div>
        </div>
    </nav>
</div>
<script src="./index.js"></script>
    .wrapper{
    background: white;
    margin: 0 0;
    padding-top: 12px;
    padding-bottom: 12px;
    box-shadow: 0px 2px 11.3px 0px rgba(0, 0, 0, 0.02);
}

    nav{
        display: flex;
        justify-content: space-around;
        padding-left: 64px;
        padding-right: 64px;
    
    }
    
    .logo{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .nav-items{
        display: flex;
        justify-content: space-around;
        gap: 32px;
    }
    
    ul{
        list-style-type: none;
        display: flex;
        gap: 32px;
        padding: 0;
    
    }
    
    li{
        padding-left: 8px;
        padding-right: 8px;
    }
    
    li a{
        text-decoration: none;
        font-family: 'Noto Sans', sans-serif;
        font-weight: 500;
        font-size: 14px;
        color: gray;
    }
    
    li a:hover{
        color: black;
    }
    
    .button{
        display: flex;
        justify-content: center;
        align-items: center;
    
    }
    
    button{
        width: 150px;
        height: 42px;
        padding: 10px 20px;
        background: #A900E4;
        color: white;
        border: 0;
        border-radius: 4px;
        font-family: 'Noto Sans', sans-serif;
        font-weight: 600;
        font-size: 14px;
    }
    
    .hamburger{
        display: none;
    }
    
    @media screen and (max-width: 768px) {
    
        nav{
            flex-direction: column;
            align-content: center;
    
        }
    
        .nav-items{
            flex-direction: column;
            gap: 8px;
            display: none;
        }
    
        .logo{
            margin-top: 16px;
        }
    
        ul{
            flex-direction: column;
            justify-content: center;
            margin-top: 32px;
            margin-bottom: 32px;
        }
    
        .logo{
            display: flex;
            justify-content:space-between;
            
        }
    
        li{
            text-align: center;
    
        }
    
        .links{
            display: flex;
            justify-content: center;
        }
    
        .button
        {
            margin-bottom: 32px;
        }
    
        .hamburger{
            display: block;
        }


const nameOfElement = document.querySelector(".nav-items")
var dd = "closed"
function dropdown(){
    nameOfElement.style.display="flex";
    if(dd == "closed"){
        nameOfElement.style.display="block";
        dd="opened";
    }
    else{
        nameOfElement.style.display="none";
        dd="closed";
    }
}

Articles matching query does not exist

I have just started working in Django. My problem in addressing with slug
I get an error when sending a request to Slug
It is my error: Articles matching query does not exist.
And I get an error when migrate
It is my error: django.db.utils.OperationalError: table “bloges_category” already exists

class Articles(models.Model):
    Writer = models.ForeignKey(User, on_delete=models.CASCADE)
    category = models.ManyToManyField(Category)
    Title = models.CharField(max_length=40, unique=True)
    Body = models.TextField()
    Image = models.ImageField(upload_to='articles')
    Time = models.DateTimeField(editable=False, auto_now_add=True)
    Update = models.DateTimeField(auto_now=True)
    slug = models.SlugField(blank=True, unique=True)

def save(
        self, force_insert=False, force_update=False, using=None, update_fields=None):
    self.slug = slugify(self.Title)
    super(Articles, self).save()

def get_absolute_url(self):
    return reverse("bloges:articles_detail", args=[self.slug])

how to deal with error in unity (Job failed with exception: GooglePlayServices)

how to fix this error, my unity version is 2023.2.3f1

Job failed with exception: GooglePlayServices.JavaUtilities+ToolNotFoundException: jar not found.
at GooglePlayServices.PlayServicesResolver.ExtractZip (System.String zipFile, System.Collections.Generic.IEnumerable1[T] extractFilenames, System.String outputDirectory, System.Boolean update) [0x00130] in <6107d0e161ea44f5b1a06a3cb63d4bc0>:0 at Google.GradleWrapper.Extract (Google.Logger logger) [0x00045] in <6107d0e161ea44f5b1a06a3cb63d4bc0>:0 at GooglePlayServices.GradleResolver.GradleResolution (System.String destinationDirectory, System.String androidSdkPath, System.Boolean logErrorOnMissingArtifacts, System.Boolean closeWindowOnCompletion, System.Action1[T] resolutionComplete) [0x00085] in <6107d0e161ea44f5b1a06a3cb63d4bc0>:0
at GooglePlayServices.GradleResolver.DoResolutionUnsafe (System.String destinationDirectory, System.Boolean closeWindowOnCompletion, System.Action resolutionComplete) [0x000ba] in <6107d0e161ea44f5b1a06a3cb63d4bc0>:0
at GooglePlayServices.GradleResolver+c__AnonStorey13.<>m__1D () [0x00000] in <6107d0e161ea44f5b1a06a3cb63d4bc0>:0
at Google.RunOnMainThread.ExecuteNext () [0x0003d] in :0
0x00007fff31baacbd (Unity) StackWalker::ShowCallstack
0x00007fff31bb2559 (Unity) GetStacktrace
0x00007fff33320c19 (Unity) DebugStringToFile
0x00007fff30cae5cc (Unity) DebugLogHandler_CUSTOM_Internal_Log
0x000002a5412b3d6d (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log_Injected (UnityEngine.LogType,UnityEngine.LogOption,UnityEngine.Bindings.ManagedSpanWrapper&,intptr)
0x000002a5412b3c23 (Mono JIT Code) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object)
0x000002a5412b383b (Mono JIT Code) UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[])
0x000002a5412b3580 (Mono JIT Code) UnityEngine.Logger:Log (UnityEngine.LogType,object)
0x000002a5412b4275 (Mono JIT Code) UnityEngine.Debug:LogError (object)
0x000002a3a487e6fb (Mono JIT Code) Google.RunOnMainThread:ExecuteNext ()
0x000002a3a487e493 (Mono JIT Code) Google.RunOnMainThread:m__A ()
0x000002a3a487e3e6 (Mono JIT Code) Google.RunOnMainThread:RunAction (System.Action)
0x000002a3a487e35b (Mono JIT Code) Google.RunOnMainThread:ExecuteAll ()
0x000002a3a487d763 (Mono JIT Code) Google.RunOnMainThread:Run (System.Action,bool)
0x000002a5412a9293 (Mono JIT Code) GooglePlayServices.GradleResolver:DoResolution (string,bool,System.Action)
0x000002a541274d63 (Mono JIT Code) GooglePlayServices.PlayServicesResolver:ResolveUnsafe (System.Action1<bool>,bool,bool,bool) 0x000002a54127413b (Mono JIT Code) GooglePlayServices.PlayServicesResolver/<ScheduleResolve>c__AnonStorey1E:<>m__3F () 0x000002a541273fc3 (Mono JIT Code) GooglePlayServices.PlayServicesResolver:ExecuteNextResolveJob () 0x000002a541273c93 (Mono JIT Code) GooglePlayServices.PlayServicesResolver:ScheduleResolve (bool,bool,System.Action1,bool)
0x000002a541273733 (Mono JIT Code) GooglePlayServices.PlayServicesResolver:AutoResolve (System.Action)
0x000002a5412735b3 (Mono JIT Code) GooglePlayServices.PlayServicesResolver:m__47 ()
0x000002a3a487f2cd (Mono JIT Code) Google.RunOnMainThread:ExecutePollingJobs ()
0x000002a3a487e4ab (Mono JIT Code) Google.RunOnMainThread:m__A ()
0x000002a3a487e3e6 (Mono JIT Code) Google.RunOnMainThread:RunAction (System.Action)
0x000002a3a487e35b (Mono JIT Code) Google.RunOnMainThread:ExecuteAll ()
0x000002a3bc690b90 (Mono JIT Code) UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()
0x000002a3a4b264a5 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void (object,intptr,intptr,intptr)
0x00007fff373d694e (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445)
0x00007fff37318464 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3068)
0x00007fff37318550 (mono-2.0-bdwgc) mono_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3115)
0x00007fff31ad4da4 (Unity) scripting_method_invoke
0x00007fff31aafdf3 (Unity) ScriptingInvocation::Invoke
0x00007fff31aab085 (Unity) ScriptingInvocation::Invoke
0x00007fff31c33bab (Unity) Scripting::UnityEditor::EditorApplicationProxy::Internal_CallUpdateFunctions
0x00007fff32691e0d (Unity) SceneTracker::Update
0x00007fff327a945a (Unity) Application::TickTimer
0x00007fff32be3f0a (Unity) MainMessageLoop
0x00007fff32be9ddd (Unity) UnityMain
0x00007ff6f8e42cda (Unity) __scrt_common_main_seh
0x00007fff7c347344 (KERNEL32) BaseThreadInitThunk
0x00007fff7e3226b1 (ntdll) RtlUserThreadStart