问:
Firebase realtime database data not get after create signed bundle in android
Getting data null if creating a signed bundle. after checking in debug shrinkResources=false when I changed it to false same issue I faced

proguard-rules.pro file

```<code>#-renamesourcefileattribute SourceFile
-keepattributes Signature

# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
  *;
}
</code>```

project build.gradle

```<code> buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            shrinkResources true
        }
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            shrinkResources true
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    }
</code>```

if shrink resources is "true" the DataSnapshot data not getting null

Body:
Getting data null if creating a signed bundle. after checking in debug shrinkResources=false when I changed it to false same issue I faced

proguard-rules.pro file

#-renamesourcefileattribute SourceFile
-keepattributes Signature

# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
  *;
}

project build.gradle

 buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            shrinkResources true
        }
        release {
            debuggable false
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
            shrinkResources true
        }
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    }

if shrink resources is "true" the DataSnapshot data not getting null


来源: stackexchange

问:
Kubernetes Unprocessable entity error 422
WARNING:root:failed to start process PoolWorker-1:102: Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/fiber/pool.py", line 98, in safe_start
proc.start()
File "/usr/local/lib/python3.10/site-packages/fiber/process.py", line 204, in start
_popen._launch(self)
File "/usr/local/lib/python3.10/site-packages/fiber/popen_fiber_spawn.py", line 435, in _launch
job = self._run_job(job)
File "/usr/local/lib/python3.10/site-packages/fiber/popen_fiber_spawn.py", line 279, in _run_job
job = self.backend.create_job(job)
File "/usr/local/lib/python3.10/site-packages/fiber/kubernetes_backend.py", line 171, in create_job
raise e
File "/usr/local/lib/python3.10/site-packages/fiber/kubernetes_backend.py", line 167, in create_job
v1pod = self.core_api.create_namespaced_pod(
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/apis/core_v1_api.py", line 6115, in create_namespaced_pod
(data) = self.create_namespaced_pod_with_http_info(namespace, body, **kwargs)
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/apis/core_v1_api.py", line 6193, in create_namespaced_pod_with_http_info
return self.api_client.call_api('/api/v1/namespaces/{namespace}/pods', 'POST',
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/api_client.py", line 330, in call_api
return self.__call_api(resource_path, method,
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/api_client.py", line 163, in __call_api
response_data = self.request(method, url,
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/api_client.py", line 371, in request
return self.rest_client.POST(url,
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/rest.py", line 260, in POST
return self.request("POST", url,
File "/usr/local/lib/python3.10/site-packages/kubernetes/client/rest.py", line 222, in request
raise ApiException(http_resp=r)
kubernetes.client.rest.ApiException: (422)
Reason: Unprocessable Entity
HTTP response headers: HTTPHeaderDict({'Audit-Id': '05bf5b0d-9b42-46a1-ad55-11f090110308', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Kubernetes-Pf-Flowschema-Uid': 'd9315622-7075-4100-b50b-c67adb228fcb', 'X-Kubernetes-Pf-Prioritylevel-Uid': '0fcf2002-2bc9-4505-ada7-f802af894cf4', 'Date': 'Wed, 28 Dec 2022 06:04:27 GMT', 'Content-Length': '1601'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"Pod "poolworker-1:102-3e887fe2" is invalid: [metadata.name: Invalid value: "poolworker-1:102-3e887fe2": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is 'a-z0-9?(\.a-z0-9?)'), spec.containers[0].name: Invalid value: "poolworker-1:102-3e887fe2": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is 'a-z0-9?')]","reason":"Invalid","details":{"name":"poolworker-1:102-3e887fe2","kind":"Pod","causes":[{"reason":"FieldValueInvalid","message":"Invalid value: "poolworker-1:102-3e887fe2": a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is 'a-z0-9?(\.a-z0-9?)')","field":"metadata.name"},{"reason":"FieldValueInvalid","message":"Invalid value: "poolworker-1:102-3e887fe2": a lowercase RFC 1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character (e.g. 'my-name',  or '123-abc', regex used for validation is 'a-z0-9?')","field":"spec.containers[0].name"}]},"code":422}

2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){process.py:203} create new process Process(PoolWorker-1:103, None)>
2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-5 (_handle_workers)(140718471366400){pool.py:407} start multiprocessing.pool.worker starter thread(Thread-109 (safe_start):140718488151808)
2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-5 (_handle_workers)(140718471366400){pool.py:411} _repolulate_pool_static done, pool: [Process(PoolWorker-1:102, None)>, Process(PoolWorker-1:103, None)>]
2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:362} Process(PoolWorker-1:103, None)> <Popen(Process(PoolWorker-1:103, None)>)> _launch called
2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:365} <Popen(Process(PoolWorker-1:103, None)>)> ipc_active is set, launch background thread
2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:148} backend is "kubernetes", use python exe "/usr/local/bin/python"
2022-12-28 06:04:27,228 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:402} <Popen(Process(PoolWorker-1:103, None)>)> popen_fiber_spawn created event <threading.Event object at 0x7ffb9073f730> and set _event_dict[103]
2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){config.py:141} loading config from .fiberconfig
2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:414} <Popen(Process(PoolWorker-1:103, None)>)> prep_data: {'log_to_stderr': False, 'authkey': b'\xeaID\x04\xe9\xa7\xa78\xa9uj\x8b4\xc8\x14Y\xde\x8f\x11\xbf\xb5!\xed#O\x133\xf3Oc\xb8', 'name': 'PoolWorker-1:103', 'sys_argv': ['/usr/local/bin/uvicorn', 'app:app', '--host', '0.0.0.0', '--reload'], 'orig_dir': '/app/app', 'dir': '/app/app', 'start_method': 'spawn', 'init_main_from_path': '/usr/local/bin/uvicorn', 'fiber_config': {'merge_output': False, 'debug': 'true', 'image': '898389633641.dkr.ecr.ap-southeast-1.amazonaws.com/user-service-backend:fiberpool', 'default_image': 'fiber-test:latest', 'backend': 'kubernetes', 'default_backend': 'local', 'use_bash': False, 'log_level': 10, 'log_file': 'stdout', 'ipc_active': True, 'ipc_admin_master_port': 0, 'ipc_admin_worker_port': 8000, 'cpu_per_job': 1, 'mem_per_job': None, 'use_push_queue': True}} 2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:358} not in interactive shell, use reduction 2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){popen_fiber_spawn.py:358} not in interactive shell, use reduction 2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){kubernetes_backend.py:104} [k8s]create_job: <JobSpec: {'image': '8983896341.dkr.ecr.ap-southeast-1.amazonaws.com/backend:fiber', 'command': ['/usr/local/bin/python', '-u', '-c', 'import sys;import os;import socket;import struct;os.environ["FIBER_WORKER"]="1";os.chdir("/app/app");import fiber;import fiber.spawn;from multiprocessing import spawn, reduction;sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);sock.connect(("100.116.197.251", 34991));conn = sock;conn.send(struct.pack(" 2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){kubernetes_backend.py:126} [k8s]create_job, container resource requirements: <JobSpec: {'image': '898389633641.dkr.ecr.ap-southeast-1.amazonaws.com/user-service-backend:fiberpool', 'command': ['/usr/local/bin/python', '-u', '-c', 'import sys;import os;import socket;import struct;os.environ["FIBER_WORKER"]="1";os.chdir("/app/app");import fiber;import fiber.spawn;from multiprocessing import spawn, reduction;sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM);sock.connect(("100.116.197.251", 34991));conn = sock;conn.send(struct.pack(" 2022-12-28 06:04:27,229 DEBUG:SpawnProcess-1(8):Thread-109 (safe_start)(140718488151808){kubernetes_backend.py:165} [k8s]calling create_namespaced_pod: poolworker-1:103-bf254681

I am trying to use fiber by uber to do multiprocessing in a cluster. I am getting error telling theres a unprocessable entity. Kubernetes client version == 10.0.1. In the above logs you can see fiber tries to create pods for the multiprocessing but it fails cause of kubernetes gives out a 422 error.

Above I have given the logs in the debug mode so it would be easier to solve. Thanks in advance

ContentLicense: CC BY-SA 4.0


问:
Are there any ongoing changes in Mailchimp API?
So I am working on Mailchimp API & I've two separate accounts for testing the API out. A request to get members works as expected in one account (dc - us6), but the same request throws an internal server error on another account (dc - us21).

Now, this issue can be resolved by removing the parameter which is being passed with no value(since_last_changed), but I was wondering if Mailchimp changes the API frequently in the background or if this is just a once-in-a-while case.

Here is the request I'm using through postman -

```<code>{{apiurl}}/lists/{{listid}}/members?$sort_field='last_changed'&sort_dir=DESC&since_last_changed=&count=1000&offset=0
</code>```

I tried using postman, and below are both accounts' results.

US-6

US-21

Body:
So I am working on Mailchimp API & I've two separate accounts for testing the API out. A request to get members works as expected in one account (dc - us6), but the same request throws an internal server error on another account (dc - us21).

Now, this issue can be resolved by removing the parameter which is being passed with no value(since_last_changed), but I was wondering if Mailchimp changes the API frequently in the background or if this is just a once-in-a-while case.

Here is the request I'm using through postman -

{{apiurl}}/lists/{{listid}}/members?$sort_field='last_changed'&sort_dir=DESC&since_last_changed=&count=1000&offset=0

I tried using postman, and below are both accounts' results.

US-6

US-21


问:
Is it possible to use SQL functions in SQL Kata join conditions?
I try to use SQLKata with SQL Server for the following use case:
Group turnover data per day/week/month/year for a configurable interval. As I also need to include the time units without any turnover data I chose to join this with a table valued function that returns a set of dates (see this link for more info about this SQL Server range of dates)

I query the table valued function in a CTE and would like to left join it with my turnover data. In order to do so I would need to use functions in the join condition though as the dates of the turnover data are more granular than the dates from the DateRange function.

As I have not seen an example in the SQL Kata documentation using a function in a join condition and trying it out gave an error too I guess it's not possible to do it like this.

What I tried:

Include a function in the join condition to reduce some details from the turnover date objects

Use 2 CTES like this: new Query().With(...).With(...) but it complained about the empty base query

What would be the best approach to implement this in a query?


问:
REACT DataGrid Actions not responding to RowID changes
I've build a MUI DataGrid, and create an actions column to cater for saving inline changes to the row. I've created the Actions component separately from the DataGrid table. However, when I trigger an edit/change in the DataGrid, it's not responding to the change i.e. I've disabled the button by default, and when there is a change, the button should be enabled.</p>
```<code>import React, { useMemo, useState } from 'react';
import { DataGrid } from '@mui/x-data-grid';
import Header from 'components/Header';
import { Box, useTheme } from '@mui/material';
import { useGetRequirementsQuery } from 'state/api';
import DataGridCustomToolbar from 'components/DataGridCustomToolbar';
import RequirementsActions from 'components/RequirementsActions';

const RequirementsTable = (params) => {
  const theme = useTheme();
  // values to be sent to the backend
  const [page, setPage] = useState(0);
  const [pageSize, setPageSize] = useState(20);
  const [sort, setSort] = useState({});
  const [search, setSearch] = useState('');
  const [rowId, setRowId] = useState('');

  const [searchInput, setSearchInput] = useState('');
  const { data, isLoading } = useGetRequirementsQuery({
    page,
    pageSize,
    sort: JSON.stringify(sort),
    search,
  });

  const columns = useMemo(
    () => [
      {
        field: '_id',
        headerName: 'id',
      },
      {
        field: 'reqNumber',
        headerName: 'Req#',
        flex: 0.25,
      },
      {
        field: 'functionName',
        headerName: 'Function',
        flex: 0.3,
        editable: true,
        type: 'singleSelect',
        valueOptions: ['Human Resources', 'Finance'],
      },
      {
        field: 'category',
        headerName: 'Category',
        flex: 0.3,
        editable: true,
      },
      {
        field: 'subCategory',
        headerName: 'subCategory',
        flex: 0.3,
      },
      {
        field: 'requirement',
        headerName: 'Requirement',
        flex: 1,
        sortable: false,
      },
      {
        field: 'importance',
        headerName: 'Importance',
        flex: 0.25,
      },
</code>```
```<code>  {
    field: 'action',
    headerName: 'Action',
    type: 'actions',
    renderCell: (params) => (
      <RequirementsActions {...{ params, rowId, setRowId }} />
    ),
  },
],
[rowId]
</code>```
```<code>  );

  return (
    <Box m='1.5rem 2.5rem'>
      <Header title='Requirements' subtitle='Entire list of requirements' />
      <Box
        height='80vh'
        sx={{
          '& .MuiDataGrid-root': {
            border: 'none',
          },
          '& .MuiDataGrid-cell': {
            borderBottom: 'none',
          },
          '& .MuiDataGrid-columnHeaders': {
            backgroundColor: theme.palette.background.alt,
            color: theme.palette.secondary[100],
            borderBottom: 'none',
          },
          '& .MuiDataGrid-virtualScroller': {
            backgroundColor: theme.palette.primary.light,
          },
          '& .MuiDataGrid-footerContainer': {
            backgroundColor: theme.palette.background.alt,
            color: theme.palette.secondary[100],
            borderTop: 'none',
          },
          '& .MuiDataGrid-toolbarContainer .MuiButton-text': {
            color: `${theme.palette.secondary[200]} !important`,
          },
        }}
      >
        <DataGrid
          loading={isLoading || !data}
          getRowId={(row) => row._id}
          rows={data || []}
          columns={columns}
          rowsPerPageOptions={[20, 50, 100]}
          pagination
          checkboxSelection
          page={page}
          pageSize={pageSize}
          paginationMode='server'
          sortingMode='server'
          onPageChange={(newPage) => setPage(newPage)}
          onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}
          onSortModelChange={(newSortModel) => setSort(...newSortModel)}
          onCellEditCommit={(params) => setRowId(params.id)}
          components={{ Toolbar: DataGridCustomToolbar }}
          componentsProps={{
            toolbar: { searchInput, setSearchInput, setSearch },
          }}
        />
      </Box>
    </Box>
  );
};

export default RequirementsTable;

</code>```
```<code>`import { useEffect, useState } from 'react';
import { Check, Save } from '@mui/icons-material';
import { green } from '@mui/material/colors';
import { useUpdateRequirementsMutation } from 'state/api';
import { Box, CircularProgress, Fab } from '@mui/material';

const RequirementsActions = (params, rowId, setRowId) => {

  const [loading, setLoading] = useState(false);
  const [success, setSuccess] = useState(false);

  const [updateRequirement] = useUpdateRequirementsMutation();

const handleSubmit = async () => {
            setLoading(true);
            console.log('Hi Nedal', params.row);
            const results = await updateRequirement(params.row);
            if (results) {
              setSuccess(true);
              setRowId(null);
            }
            setLoading(false);
          };

          useEffect(() => {
            if (rowId === params.id && success) {
                console.log(params.id);
              setSuccess(false);
            }
          }, [rowId]);

          return (
            <Box
              sx={{
                m: 1,
                position: 'relative',
              }}
            >
              {success ? (
                <Fab
                  color='primary'
                  sx={{
                    width: 40,
                    height: 40,
                    bgcolor: green[500],
                    '&:hover': { bgcolor: green[700] },
                  }}
                >
                  <Check />
                </Fab>
              ) : (
                <Fab
                  color='primary'
                  sx={{
                    width: 40,
                    height: 40,
                  }}
                  disabled={params.id !== rowId || loading}
                  onClick={handleSubmit}
                >
                  <Save />
                </Fab>
              )}
              {loading && (
                <CircularProgress
                  size={52}
                  sx={{
                    color: green[500],
                    position: 'absolute',
                    top: -6,
                    left: -6,
                    zIndex: 1,
                  }}
                />
              )}
            </Box>
          );
        };

        export default RequirementsActions;
</code>```

Body:
I've build a MUI DataGrid, and create an actions column to cater for saving inline changes to the row. I've created the Actions component separately from the DataGrid table. However, when I trigger an edit/change in the DataGrid, it's not responding to the change i.e. I've disabled the button by default, and when there is a change, the button should be enabled.

import React, { useMemo, useState } from 'react';
import { DataGrid } from '@mui/x-data-grid';
import Header from 'components/Header';
import { Box, useTheme } from '@mui/material';
import { useGetRequirementsQuery } from 'state/api';
import DataGridCustomToolbar from 'components/DataGridCustomToolbar';
import RequirementsActions from 'components/RequirementsActions';

const RequirementsTable = (params) => {
  const theme = useTheme();
  // values to be sent to the backend
  const [page, setPage] = useState(0);
  const [pageSize, setPageSize] = useState(20);
  const [sort, setSort] = useState({});
  const [search, setSearch] = useState('');
  const [rowId, setRowId] = useState('');

  const [searchInput, setSearchInput] = useState('');
  const { data, isLoading } = useGetRequirementsQuery({
    page,
    pageSize,
    sort: JSON.stringify(sort),
    search,
  });

  const columns = useMemo(
    () => [
      {
        field: '_id',
        headerName: 'id',
      },
      {
        field: 'reqNumber',
        headerName: 'Req#',
        flex: 0.25,
      },
      {
        field: 'functionName',
        headerName: 'Function',
        flex: 0.3,
        editable: true,
        type: 'singleSelect',
        valueOptions: ['Human Resources', 'Finance'],
      },
      {
        field: 'category',
        headerName: 'Category',
        flex: 0.3,
        editable: true,
      },
      {
        field: 'subCategory',
        headerName: 'subCategory',
        flex: 0.3,
      },
      {
        field: 'requirement',
        headerName: 'Requirement',
        flex: 1,
        sortable: false,
      },
      {
        field: 'importance',
        headerName: 'Importance',
        flex: 0.25,
      },

  {
    field: 'action',
    headerName: 'Action',
    type: 'actions',
    renderCell: (params) => (
      <RequirementsActions {...{ params, rowId, setRowId }} />
    ),
  },
],
[rowId]

  );

  return (
    <Box m='1.5rem 2.5rem'>

      <Box
        height='80vh'
        sx={{
          '& .MuiDataGrid-root': {
            border: 'none',
          },
          '& .MuiDataGrid-cell': {
            borderBottom: 'none',
          },
          '& .MuiDataGrid-columnHeaders': {
            backgroundColor: theme.palette.background.alt,
            color: theme.palette.secondary[100],
            borderBottom: 'none',
          },
          '& .MuiDataGrid-virtualScroller': {
            backgroundColor: theme.palette.primary.light,
          },
          '& .MuiDataGrid-footerContainer': {
            backgroundColor: theme.palette.background.alt,
            color: theme.palette.secondary[100],
            borderTop: 'none',
          },
          '& .MuiDataGrid-toolbarContainer .MuiButton-text': {
            color: `${theme.palette.secondary[200]} !important`,
          },
        }}
      >
        <DataGrid
          loading={isLoading || !data}
          getRowId={(row) => row._id}
          rows={data || []}
          columns={columns}
          rowsPerPageOptions={[20, 50, 100]}
          pagination
          checkboxSelection
          page={page}
          pageSize={pageSize}
          paginationMode='server'
          sortingMode='server'
          onPageChange={(newPage) => setPage(newPage)}
          onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}
          onSortModelChange={(newSortModel) => setSort(...newSortModel)}
          onCellEditCommit={(params) => setRowId(params.id)}
          components={{ Toolbar: DataGridCustomToolbar }}
          componentsProps={{
            toolbar: { searchInput, setSearchInput, setSearch },
          }}
        />
      </Box>
    </Box>
  );
};

export default RequirementsTable;

`import { useEffect, useState } from 'react';
import { Check, Save } from '@mui/icons-material';
import { green } from '@mui/material/colors';
import { useUpdateRequirementsMutation } from 'state/api';
import { Box, CircularProgress, Fab } from '@mui/material';

const RequirementsActions = (params, rowId, setRowId) => {

  const [loading, setLoading] = useState(false);
  const [success, setSuccess] = useState(false);

  const [updateRequirement] = useUpdateRequirementsMutation();

const handleSubmit = async () => {
            setLoading(true);
            console.log('Hi Nedal', params.row);
            const results = await updateRequirement(params.row);
            if (results) {
              setSuccess(true);
              setRowId(null);
            }
            setLoading(false);
          };

          useEffect(() => {
            if (rowId === params.id && success) {
                console.log(params.id);
              setSuccess(false);
            }
          }, [rowId]);

          return (
            <Box
              sx={{
                m: 1,
                position: 'relative',
              }}
            >
              {success ? (
                <Fab
                  color='primary'
                  sx={{
                    width: 40,
                    height: 40,
                    bgcolor: green[500],
                    '&:hover': { bgcolor: green[700] },
                  }}
                >
                  <Check />
                </Fab>
              ) : (
                <Fab
                  color='primary'
                  sx={{
                    width: 40,
                    height: 40,
                  }}
                  disabled={params.id !== rowId || loading}
                  onClick={handleSubmit}
                >
                  <Save />
                </Fab>
              )}
              {loading && (
                <CircularProgress
                  size={52}
                  sx={{
                    color: green[500],
                    position: 'absolute',
                    top: -6,
                    left: -6,
                    zIndex: 1,
                  }}
                />
              )}
            </Box>
          );
        };

        export default RequirementsActions;


问:
Trying to sleep milliseconds time.sleep(0.001) not working as expected, alternatives?
I'm trying to run a function approximately 200 times a second (give or take +- 50). When using time.sleep(0.005), I find that it sleeps for much longer. I understand that time.sleep is not accurate, but my use case doesn't need much accuracy either.

I searched this problem up and it seems to be an issue with Windows 10 & 11 in particular: https://bugs.python.org/issue44681

They don't seem to be keen on fixing this issue, so I was wondering what alternatives are there for sleeping for around a millisecond?

I tested this code:

```<code>last_time = time.time()
counter = 0
while True:
    now = time.time()
    if now - last_time >= 1:
        print(counter)
        last_time = now
        counter = 0
    counter += 1
</code>```

Which gave me around 64 to 65 on my computer and around 70 on my laptop.

Body:
I'm trying to run a function approximately 200 times a second (give or take +- 50). When using time.sleep(0.005), I find that it sleeps for much longer. I understand that time.sleep is not accurate, but my use case doesn't need much accuracy either.

I searched this problem up and it seems to be an issue with Windows 10 & 11 in particular: https://bugs.python.org/issue44681

They don't seem to be keen on fixing this issue, so I was wondering what alternatives are there for sleeping for around a millisecond?

I tested this code:

last_time = time.time()
counter = 0
while True:
    now = time.time()
    if now - last_time >= 1:
        print(counter)
        last_time = now
        counter = 0
    counter += 1

Which gave me around 64 to 65 on my computer and around 70 on my laptop.


问:
How to handle subgraph isomorphism algorithms with millions of points and tens of millions of edges?
I implemented the VF3P algorithm, but when the size of the graph reaches millions of points and tens of millions of edges (e.g., the soc_liveJournal dataset), solving a specified-size pattern graph becomes very time-consuming (it took a whole night on a server with 16 CPU cores and 32GB of memory and didn't finish).

Is there any good algorithm that can solve subgraph isomorphism on ultra-large-scale graphs?


问:
Status failed error get after enter card input in network international ngenius payment in react native?
First we create sandbox account from  https://www.network.ae/en/contents/listing/online-solutions#book-1

then we create access Token see code

```<code>
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/vnd.ni-identity.v1+json");
myHeaders.append("Authorization", `Basic ${}API_KEY`);
myHeaders.append("Cookie", "\_abck=5C342393A623B53581D9AE558C857BF2\~-1\~YAAQfXYsMa+W3wWFAQAACGk7MwlNL93fTExvJYX4pRpd6PZpRFbRT0BgePfZ2tn15MkLCVst80XVExP/xPZkPh0LUZq4QO4k+KN0bm+Tz0NlX26lWmSlI6mq0kePXMH9MJt7yQy7Rx9ZIsR2Amcb44zP+hnySdCx2uq3vwgl4ZVMQ2soqosGNHQuESjb/JJAirysYwiyN7/Mw/qg5NzXzf2ncRTbB/3CcVp/yiZPOwAsxD8x+8oZA3VAxLgvbuv0Tn9ccNN9oPATqzDtoXD1LnQorof6S/S6btPx4BZTgFeqvmxX3q5SNSlsDgySTzI5qkp81wrjTm5ficp1U0k5fcimfaR0V8Xq21luPY9VdveWYd5B87UOIcalA2CQz2S7yFSo14uqKarLVFbh00Vd1Zw=\~-1\~-1\~-1; bm_sz=AF5FEAEE5BC3A58968E80BB8D640735E\~YAAQfXYsMbCW3wWFAQAACGk7MxLpffLMR5ZpUagjSJqRS4G5rjc8MolC2xNhZUaUKTKGMj5Fvi0eLn3cbULd/jtI4QO0h8Cl4c3bFROSPs9jpPu1UFDm9R1gGBB6T7rIFPU+sxiw2wQ7gGvrlik680yFDoUraO3MoRl8cfpOu73nyKryhpb1ebghFcrF2aYM9B4f3c8ER1Fk1VTXN5TGij9bLAT7BDjVOtLjQVG5AL/wKZ57t21EFnCqlnXioDXla8Jylj6T7EQzE/5yKno2Z9Z6jMTx1rU6Jcy5nUq6SG50aVYOUYwA/w1k6WSj\~3749186\~4343095");

var raw = "";

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};

fetch("https://api-gateway.sandbox.ngenius-payments.com/identity/auth/access-token", requestOptions)

.then(response => response.json())
    .then(result => {

setAccessToken(result.access_token)
})
.catch((e)=>console.log(e)

</code>```

Then we create an order

```<code>
var myHeaders = new Headers();
myHeaders.append("Authorization", `Bearer ${access_token}`);
myHeaders.append("Content-Type", "application/vnd.ni-payment.v2+json");
myHeaders.append("Accept", "application/vnd.ni-payment.v2+json");
myHeaders.append("Cookie", "_abck=5C342393A623B53581D9AE558C857BF2~-1~YAAQJfhWuMbikwmFAQAAm3R2KgkBO6swEeKoHNG6113OL/hvGd9LQQEo5ieCnty0rrZ7UcaRqt7InR2UUWFze7723wDPiy+SCmtMNKKL4zCJi7fwqJed1SMa2PWjCe5qWiFf/Fa0NtMY3a7TedM+6XI3cMMieW4GMHrQwGTz0BrFsZ3gC6jCUgYUTFO55uMpD3627GjbcZmsluCPLWKVLdGlsPX/wIknh1Tl/+YSO58Bnv97KpZnb0ZLZck2PYFnzGOPTiJ2JQe6vakvSFh68UxMIZYVxekwS2LTZjJGtZqLMt45A/lLbpxq95qzzCMWdxrwE0JgMgWfgu9l1k+Scq69UpgOo331AEJ+AASZF1MZ4CRJ7MEs1WpjlTbDroZVS0Uh~-1~-1~-1");

var raw = JSON.stringify({
    "action": "PURCHASE",
    "amount": {
        "currencyCode": "AED",
        "value": 2000
    },
    "emailAddress": "govindsingh@gmail.com",
    "merchantOrderReference":"my-order",
    "billingAddress":{
    "firstName":"Govind",
    "lastName":"Singh",
    "address1":"abc",
    "city":"Dubai",
    "state":"Dubai",
    "countryCode":"AED"
},
"merchantAttributes":{
"skipConfirmationPage":true,
"skip3DS":true
}
});

var requestOptions = {
    method: 'POST',
    headers: myHeaders,
    body: raw,
    redirect: 'follow'
};

fetch(`https://api-gateway.sandbox.ngenius-payments.com/transactions/outlets/${Outlet_id}/orders`, requestOptions)

.then(response => response.json())
    .then(result => {

setOrder(result.access_token)
})
.catch((e)=>console.log(e)

</code>```

then we call make card payment function by https://www.npmjs.com/package/@network-international/react-native-ngenius

```<code> const res = await initiateCardPayment(order);
    console.log("res"+ res)
      Alert.alert(
        'Success',
        'Payment was successful',
        [{ text: 'OK', onPress: () => console.log('OK Pressed') }],
        { cancelable: false },
      );
    } catch (err) {
      console.log(err);
    alert(
        'Error',
        'Payment was not successful',
        [{ text: 'OK', onPress: () => console.log('OK Pressed') }],
        { cancelable: false },
      );
    }

</code>```

then we get an error -
[status:failed]

Thanks in Advance

Please give me any solution

Body:
First we create sandbox account from  https://www.network.ae/en/contents/listing/online-solutions#book-1

then we create access Token see code

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/vnd.ni-identity.v1+json");
myHeaders.append("Authorization", `Basic ${}API_KEY`);
myHeaders.append("Cookie", "\_abck=5C342393A623B53581D9AE558C857BF2\~-1\~YAAQfXYsMa+W3wWFAQAACGk7MwlNL93fTExvJYX4pRpd6PZpRFbRT0BgePfZ2tn15MkLCVst80XVExP/xPZkPh0LUZq4QO4k+KN0bm+Tz0NlX26lWmSlI6mq0kePXMH9MJt7yQy7Rx9ZIsR2Amcb44zP+hnySdCx2uq3vwgl4ZVMQ2soqosGNHQuESjb/JJAirysYwiyN7/Mw/qg5NzXzf2ncRTbB/3CcVp/yiZPOwAsxD8x+8oZA3VAxLgvbuv0Tn9ccNN9oPATqzDtoXD1LnQorof6S/S6btPx4BZTgFeqvmxX3q5SNSlsDgySTzI5qkp81wrjTm5ficp1U0k5fcimfaR0V8Xq21luPY9VdveWYd5B87UOIcalA2CQz2S7yFSo14uqKarLVFbh00Vd1Zw=\~-1\~-1\~-1; bm_sz=AF5FEAEE5BC3A58968E80BB8D640735E\~YAAQfXYsMbCW3wWFAQAACGk7MxLpffLMR5ZpUagjSJqRS4G5rjc8MolC2xNhZUaUKTKGMj5Fvi0eLn3cbULd/jtI4QO0h8Cl4c3bFROSPs9jpPu1UFDm9R1gGBB6T7rIFPU+sxiw2wQ7gGvrlik680yFDoUraO3MoRl8cfpOu73nyKryhpb1ebghFcrF2aYM9B4f3c8ER1Fk1VTXN5TGij9bLAT7BDjVOtLjQVG5AL/wKZ57t21EFnCqlnXioDXla8Jylj6T7EQzE/5yKno2Z9Z6jMTx1rU6Jcy5nUq6SG50aVYOUYwA/w1k6WSj\~3749186\~4343095");

var raw = "";

var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};

fetch("https://api-gateway.sandbox.ngenius-payments.com/identity/auth/access-token", requestOptions)

.then(response => response.json())
    .then(result => {

setAccessToken(result.access_token)
})
.catch((e)=>console.log(e)

Then we create an order

var myHeaders = new Headers();
myHeaders.append("Authorization", `Bearer ${access_token}`);
myHeaders.append("Content-Type", "application/vnd.ni-payment.v2+json");
myHeaders.append("Accept", "application/vnd.ni-payment.v2+json");
myHeaders.append("Cookie", "_abck=5C342393A623B53581D9AE558C857BF2~-1~YAAQJfhWuMbikwmFAQAAm3R2KgkBO6swEeKoHNG6113OL/hvGd9LQQEo5ieCnty0rrZ7UcaRqt7InR2UUWFze7723wDPiy+SCmtMNKKL4zCJi7fwqJed1SMa2PWjCe5qWiFf/Fa0NtMY3a7TedM+6XI3cMMieW4GMHrQwGTz0BrFsZ3gC6jCUgYUTFO55uMpD3627GjbcZmsluCPLWKVLdGlsPX/wIknh1Tl/+YSO58Bnv97KpZnb0ZLZck2PYFnzGOPTiJ2JQe6vakvSFh68UxMIZYVxekwS2LTZjJGtZqLMt45A/lLbpxq95qzzCMWdxrwE0JgMgWfgu9l1k+Scq69UpgOo331AEJ+AASZF1MZ4CRJ7MEs1WpjlTbDroZVS0Uh~-1~-1~-1");

var raw = JSON.stringify({
    "action": "PURCHASE",
    "amount": {
        "currencyCode": "AED",
        "value": 2000
    },
    "emailAddress": "govindsingh@gmail.com",
    "merchantOrderReference":"my-order",
    "billingAddress":{
    "firstName":"Govind",
    "lastName":"Singh",
    "address1":"abc",
    "city":"Dubai",
    "state":"Dubai",
    "countryCode":"AED"
},
"merchantAttributes":{
"skipConfirmationPage":true,
"skip3DS":true
}
});

var requestOptions = {
    method: 'POST',
    headers: myHeaders,
    body: raw,
    redirect: 'follow'
};

fetch(`https://api-gateway.sandbox.ngenius-payments.com/transactions/outlets/${Outlet_id}/orders`, requestOptions)

.then(response => response.json())
    .then(result => {

setOrder(result.access_token)
})
.catch((e)=>console.log(e)

then we call make card payment function by https://www.npmjs.com/package/@network-international/react-native-ngenius

 const res = await initiateCardPayment(order);
    console.log("res"+ res)
      Alert.alert(
        'Success',
        'Payment was successful',
        [{ text: 'OK', onPress: () => console.log('OK Pressed') }],
        { cancelable: false },
      );
    } catch (err) {
      console.log(err);
    alert(
        'Error',
        'Payment was not successful',
        [{ text: 'OK', onPress: () => console.log('OK Pressed') }],
        { cancelable: false },
      );
    }

then we get an error -
[status:failed]

Thanks in Advance

Please give me any solution


问:
pdfminer bbox overlapping issue
I got a problem with pdfminer when try to draw the text-boxes' coordinates with reportlab.

Example

The first image is the result which I got from pdfminer.

What I noticed:
When the line margin is not the same for one paragraph (see the hanging indent in PDF's rendered text below), then it is overlapping when I try to draw the rectangle with reportlab.

I tried to solve this issue by fixing the line margin, but then got a worse result with other parts.

Code

```<code>laparams = LAParams(line_margin = 1.0, detect_vertical = True)
</code>```

Title: pdfminer bbox overlapping issue

Body:
I got a problem with pdfminer when try to draw the text-boxes' coordinates with reportlab.

Example

The first image is the result which I got from pdfminer.

What I noticed:
When the line margin is not the same for one paragraph (see the hanging indent in PDF's rendered text below), then it is overlapping when I try to draw the rectangle with reportlab.

I tried to solve this issue by fixing the line margin, but then got a worse result with other parts.

Code

laparams = LAParams(line_margin = 1.0, detect_vertical = True)


问:
Stuck on this OpenIddict issue while validation with client creadentials token

System.InvalidOperationException: An identity cannot be extracted from this request.

This generally indicates that the OpenIddict server stack was asked to validate a token for an endpoint it doesn't manage.

To validate tokens received by custom API endpoints, the OpenIddict validation handler (e.g OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme or OpenIddictValidationOwinDefaults.AuthenticationType) must be used instead.

at OpenIddict.Server.OpenIddictServerHandlers.ValidateAuthenticationDemand.HandleAsync(ProcessAuthenticationContext context)

at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context)

at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context)

at OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandler.HandleAuthenticateAsync()

at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.AuthenticateAsync()

at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
at Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.AuthenticateAsync(AuthorizationPolicy policy, HttpContext context)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

HEADERS

```<code>Accept: */*
Host: localhost:7174
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
:method: GET
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IlYyUERaNl9RUjRfNFo0Q1VMUkUwWFdRRU1KNFVDT0VGSjNDQldTQUQiLCJ0eXAiOiJhdCtqd3QifQ.eyJzdWIiOiJwb3N0bWFuIiwic29tZS1jbGFpbSI6InNvbWUtdmFsdWUiLCJvaV9wcnN0IjoicG9zdG1hbiIsImNsaWVudF9pZCI6InBvc3RtYW4iLCJvaV90a25faWQiOiI3NGE3ZGNlMC1kNjJkLTRmZjQtYjg1MS1kMjRjN2E1OGIwNTEiLCJzY29wZSI6ImFwaSIsImV4cCI6MTY3MjIxMjQzMywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NzE3NC8iLCJpYXQiOjE2NzIyMDg4MzN9.bls8ceNA9bU-xr1-9huV4LDqifX7KDn8E1bqGPGeeWh9ePeN1mYnywFC6lPVls8OtCmtm1v9iTnnfaoZ3r2v_IoKahl727B4QD8AkKpy_8ExiBBECtX9HqDid3w0c8dYS1Rka2xyh5mcKJzlqNlSucNbRqj7Hu8wisizV89K45qmWBsZTIsBqJOR5DKDjVzAEmAvjccD8Hb9kjF6lSiis2E7x41YO0dB4ugc5gEm1huEI44bps7qj9V2mQ70EcNi74KgK3Y57JsityV1Oqjv14gour2jjvccATtLhOtNisUfbw10jPlRj3AT1XiHDjjIhR5pb0z6XTJRblpmNt8wNQ
Referer: https://localhost:7174/swagger/index.html
sec-ch-ua: "Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-site: same-origin
sec-fetch-mode: cors
sec-fetch-dest: empty
</code>```

Does anyone know about this? Please tell me the solution

Body:
System.InvalidOperationException: An identity cannot be extracted from this request.

This generally indicates that the OpenIddict server stack was asked to validate a token for an endpoint it doesn't manage.

To validate tokens received by custom API endpoints, the OpenIddict validation handler (e.g OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme or OpenIddictValidationOwinDefaults.AuthenticationType) must be used instead.

at OpenIddict.Server.OpenIddictServerHandlers.ValidateAuthenticationDemand.HandleAsync(ProcessAuthenticationContext context)

at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context)

at OpenIddict.Server.OpenIddictServerDispatcher.DispatchAsync[TContext](TContext context)

at OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandler.HandleAuthenticateAsync()

at Microsoft.AspNetCore.Authentication.AuthenticationHandler`1.AuthenticateAsync()

at Microsoft.AspNetCore.Authentication.AuthenticationService.AuthenticateAsync(HttpContext context, String scheme)
at Microsoft.AspNetCore.Authorization.Policy.PolicyEvaluator.AuthenticateAsync(AuthorizationPolicy policy, HttpContext context)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

HEADERS

Accept: */*
Host: localhost:7174
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
:method: GET
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IlYyUERaNl9RUjRfNFo0Q1VMUkUwWFdRRU1KNFVDT0VGSjNDQldTQUQiLCJ0eXAiOiJhdCtqd3QifQ.eyJzdWIiOiJwb3N0bWFuIiwic29tZS1jbGFpbSI6InNvbWUtdmFsdWUiLCJvaV9wcnN0IjoicG9zdG1hbiIsImNsaWVudF9pZCI6InBvc3RtYW4iLCJvaV90a25faWQiOiI3NGE3ZGNlMC1kNjJkLTRmZjQtYjg1MS1kMjRjN2E1OGIwNTEiLCJzY29wZSI6ImFwaSIsImV4cCI6MTY3MjIxMjQzMywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NzE3NC8iLCJpYXQiOjE2NzIyMDg4MzN9.bls8ceNA9bU-xr1-9huV4LDqifX7KDn8E1bqGPGeeWh9ePeN1mYnywFC6lPVls8OtCmtm1v9iTnnfaoZ3r2v_IoKahl727B4QD8AkKpy_8ExiBBECtX9HqDid3w0c8dYS1Rka2xyh5mcKJzlqNlSucNbRqj7Hu8wisizV89K45qmWBsZTIsBqJOR5DKDjVzAEmAvjccD8Hb9kjF6lSiis2E7x41YO0dB4ugc5gEm1huEI44bps7qj9V2mQ70EcNi74KgK3Y57JsityV1Oqjv14gour2jjvccATtLhOtNisUfbw10jPlRj3AT1XiHDjjIhR5pb0z6XTJRblpmNt8wNQ
Referer: https://localhost:7174/swagger/index.html
sec-ch-ua: "Not?A_Brand";v="8", "Chromium";v="108", "Google Chrome";v="108"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-site: same-origin
sec-fetch-mode: cors
sec-fetch-dest: empty

Does anyone know about this? Please tell me the solution


问:
Pivotal Spring Cloud Services Dependencies v3.5.0 - 401 - Unauthorized Error - when communicating with Config Server
We recently migrated our application to Spring Boot 2.7.6 as part of this migration we also upgraded Spring Cloud Service Dependencies version to 3.5.0 (BOM)

implementation platform('io.pivotal.spring.cloud:spring-cloud-services-dependencies:3.5.0')

After this upgrade, we are seeing the below error when trying to communicate with the Config Server,

c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: 401 Unauthorized: [no body]

When analyzing the code of io.pivotal.spring.cloud.config.client.ConfigClientOAuth2BootstrapRegistryInitializer the initialize(BootstrapRegistry registry) method below is constructing the RestTemplate with the OAuth2AuthorizedClientHttpRequestInterceptor but the RestTemplate is not assigned to the   org.springframework.cloud.config.client.ConfigServicePropertySourceLocator instance.

```<code>       @Override
    public void initialize(BootstrapRegistry registry) {
        if (!CONFIG_CLIENT_IS_PRESENT || !OAUTH2_CLIENT_IS_PRESENT || !JAVA_CFENV_IS_PRESENT)
            return;

        CfEnv cfEnv = new CfEnv();
        List<CfService> configServices = cfEnv.findServicesByTag("configuration");
        if (configServices.size() != 1)
            return;
        CfCredentials credentials = configServices.stream().findFirst().get().getCredentials();

        registry.register(RestTemplate.class, context -> {
            String clientId = credentials.getString("client_id");
            String clientSecret = credentials.getString("client_secret");
            String accessTokenUri = credentials.getString("access_token_uri");
            RestTemplate restTemplate = new RestTemplate();
            ClientRegistration clientRegistration = ClientRegistration.withRegistrationId("config-client")
                    .clientId(clientId).clientSecret(clientSecret).tokenUri(accessTokenUri)
                    .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS).build();
            restTemplate.getInterceptors().add(new OAuth2AuthorizedClientHttpRequestInterceptor(clientRegistration));
            return restTemplate;
        });
    }
</code>```

We feel this missing interceptor is causing the above mentioned 401 Unauthorized error.

However, If we downgrade the Spring Cloud Service Dependencies version to 3.2.0.RELEASE (BOM)

implementation platform('io.pivotal.spring.cloud:spring-cloud-services-dependencies:3.2.0.RELEASE')

The communication to the config server happens without any issues.

Here, when analyzing the code of io.pivotal.spring.cloud.config.client.ConfigClientOAuth2BootstrapConfiguration we see the below code in the init() method.

```<code>       @PostConstruct
    public void init() {
        RestTemplate restTemplate = new RestTemplate();
        ClientRegistration clientRegistration = ClientRegistration.withRegistrationId("config-client")
                .clientId(configClientOAuth2Properties.getClientId())
                .clientSecret(configClientOAuth2Properties.getClientSecret())
                .tokenUri(configClientOAuth2Properties.getAccessTokenUri())
                .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS).build();
        restTemplate.getInterceptors().add(new OAuth2AuthorizedClientHttpRequestInterceptor(clientRegistration));
        locator.setRestTemplate(restTemplate);
    }
</code>```

The locator instance private final ConfigServicePropertySourceLocator locator; is assigned with the RestTemplate that includes the OAuth2AuthorizedClientHttpRequestInterceptor.

We are not sure, how to go about using the Spring Cloud Service Dependencies version 3.5.0 and communicate with the Config Server without facing the 401 - Unauthorized Error, please clarify.

Body:
We recently migrated our application to Spring Boot 2.7.6 as part of this migration we also upgraded Spring Cloud Service Dependencies version to 3.5.0 (BOM)

implementation platform('io.pivotal.spring.cloud:spring-cloud-services-dependencies:3.5.0')

After this upgrade, we are seeing the below error when trying to communicate with the Config Server,

c.c.c.ConfigServicePropertySourceLocator : Could not locate PropertySource: 401 Unauthorized: [no body]

When analyzing the code of io.pivotal.spring.cloud.config.client.ConfigClientOAuth2BootstrapRegistryInitializer the initialize(BootstrapRegistry registry) method below is constructing the RestTemplate with the OAuth2AuthorizedClientHttpRequestInterceptor but the RestTemplate is not assigned to the   org.springframework.cloud.config.client.ConfigServicePropertySourceLocator instance.

       @Override
    public void initialize(BootstrapRegistry registry) {
        if (!CONFIG_CLIENT_IS_PRESENT || !OAUTH2_CLIENT_IS_PRESENT || !JAVA_CFENV_IS_PRESENT)
            return;

        CfEnv cfEnv = new CfEnv();
        List<CfService> configServices = cfEnv.findServicesByTag("configuration");
        if (configServices.size() != 1)
            return;
        CfCredentials credentials = configServices.stream().findFirst().get().getCredentials();

        registry.register(RestTemplate.class, context -> {
            String clientId = credentials.getString("client_id");
            String clientSecret = credentials.getString("client_secret");
            String accessTokenUri = credentials.getString("access_token_uri");
            RestTemplate restTemplate = new RestTemplate();
            ClientRegistration clientRegistration = ClientRegistration.withRegistrationId("config-client")
                    .clientId(clientId).clientSecret(clientSecret).tokenUri(accessTokenUri)
                    .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS).build();
            restTemplate.getInterceptors().add(new OAuth2AuthorizedClientHttpRequestInterceptor(clientRegistration));
            return restTemplate;
        });
    }

We feel this missing interceptor is causing the above mentioned 401 Unauthorized error.

However, If we downgrade the Spring Cloud Service Dependencies version to 3.2.0.RELEASE (BOM)

implementation platform('io.pivotal.spring.cloud:spring-cloud-services-dependencies:3.2.0.RELEASE')

The communication to the config server happens without any issues.

Here, when analyzing the code of io.pivotal.spring.cloud.config.client.ConfigClientOAuth2BootstrapConfiguration we see the below code in the init() method.

       @PostConstruct
    public void init() {
        RestTemplate restTemplate = new RestTemplate();
        ClientRegistration clientRegistration = ClientRegistration.withRegistrationId("config-client")
                .clientId(configClientOAuth2Properties.getClientId())
                .clientSecret(configClientOAuth2Properties.getClientSecret())
                .tokenUri(configClientOAuth2Properties.getAccessTokenUri())
                .authorizationGrantType(AuthorizationGrantType.CLIENT_CREDENTIALS).build();
        restTemplate.getInterceptors().add(new OAuth2AuthorizedClientHttpRequestInterceptor(clientRegistration));
        locator.setRestTemplate(restTemplate);
    }

The locator instance private final ConfigServicePropertySourceLocator locator; is assigned with the RestTemplate that includes the OAuth2AuthorizedClientHttpRequestInterceptor.

We are not sure, how to go about using the Spring Cloud Service Dependencies version 3.5.0 and communicate with the Config Server without facing the 401 - Unauthorized Error, please clarify.


问:
VBS script not printing the value of a variable in a file
I need to generate a RMAN backup script dynamically and stored in a file so it can be executed later to backup database and also delete the old backups older than defined retention period.
I am passing the value of retention period in a variable inside a script where it will generate RMAN script as shown below;

```<code>connect target /
set echo off;
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
crosscheck archivelog all;
backup full
    filesperset 5
    format 'D:\Oracle\DB_Backup\P7app\daily_P7app_BACKUP_DBF__20221228_140306_%s_%p_%c'
    tag daily_P7app_BACKUP
    database
        plus archivelog
        filesperset 5
        tag daily_P7app_BACKUP;

backup current controlfile
    filesperset 5
        format 'D:\Oracle\DB_Backup\P7app\daily_P7app_BACKUP_CF__20221228_140306_%s_%p_%c'
    tag daily_P7app_BACKUP;

backup spfile
    filesperset 5
        format 'D:\Oracle\DB_Backup\P7app\daily_P7app_BACKUP_SP__20221228_140306_%s_%p_%c'
    tag daily_P7app_BACKUP;

sql 'alter database backup controlfile to trace';
release channel c1;
release channel c2;
release channel c3;
}
delete noprompt obsolete;
delete noprompt expired backup;
</code>```

The script assigns value of strretention based on the month end, year end.... but while generating the delete statement it is not printing the value of "stretention" hence the below statement is incomplete where it should be
delete noprompt backup completed before 'sysdate - "value of stretention" tag daily_P7app_BACKUP;
but unfortunately the value of stretention is not printed on the generated statement where it is an incomplete statement which is as;

```<code>delete noprompt backup completed before 'sysdate -  tag daily_P7app_BACKUP;
release channel;
exit
</code>```

Any idea why the value of a variable is missing?

I was expecting;

```<code>delete noprompt backup completed before 'sysdate -35';
</code>```

but I got below incomplete statement with missing value of strretention;

```<code>delete noprompt backup completed before 'sysdate - ';
</code>```

Body:
I need to generate a RMAN backup script dynamically and stored in a file so it can be executed later to backup database and also delete the old backups older than defined retention period.
I am passing the value of retention period in a variable inside a script where it will generate RMAN script as shown below;

connect target /
set echo off;
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
crosscheck archivelog all;
backup full
    filesperset 5
    format 'D:\Oracle\DB_Backup\P7app\daily_P7app_BACKUP_DBF__20221228_140306_%s_%p_%c'
    tag daily_P7app_BACKUP
    database
        plus archivelog
        filesperset 5
        tag daily_P7app_BACKUP;

backup current controlfile
    filesperset 5
        format 'D:\Oracle\DB_Backup\P7app\daily_P7app_BACKUP_CF__20221228_140306_%s_%p_%c'
    tag daily_P7app_BACKUP;

backup spfile
    filesperset 5
        format 'D:\Oracle\DB_Backup\P7app\daily_P7app_BACKUP_SP__20221228_140306_%s_%p_%c'
    tag daily_P7app_BACKUP;

sql 'alter database backup controlfile to trace';
release channel c1;
release channel c2;
release channel c3;
}
delete noprompt obsolete;
delete noprompt expired backup;

The script assigns value of strretention based on the month end, year end.... but while generating the delete statement it is not printing the value of "stretention" hence the below statement is incomplete where it should be
delete noprompt backup completed before 'sysdate - "value of stretention" tag daily_P7app_BACKUP;
but unfortunately the value of stretention is not printed on the generated statement where it is an incomplete statement which is as;

delete noprompt backup completed before 'sysdate -  tag daily_P7app_BACKUP;
release channel;
exit

Any idea why the value of a variable is missing?

I was expecting;

delete noprompt backup completed before 'sysdate -35';

but I got below incomplete statement with missing value of strretention;

delete noprompt backup completed before 'sysdate - ';


问:
POSTGRES: How to get a nested value as a new column from the function jsonb_recordset()
I am using jsonb_recordset function to convert a json object keys to a new record. I am able to do that for a top level keys. How to do the same for the nested keys?

```<code>
screener_domain_results
[
  {
    "index": 0,
    "score": 24,
    "domain_id": "f758dc46-5107-40b1-ac54-b2419961b721",
    "is_concern": true,
    "total_count": 8,
    "total_score": 40,
    "sub_domian_results": [
      {
        "index": 0,
        "score": 15,
        "is_concern": false,
        "total_count": 5,
        "total_score": 25,
        "sub_domain_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7c",
        "sub_domain_result_range": {
          "range_max": 16,
          "range_min": 5,
          "range_meta": [],
          "range_name": "Excelling",
          "range_color": "#FFF400",
          "entity_ref_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7c",
          "range_entity_type": "SubDomain"
        },

        {
        "index": 1,
        "score": 10,
        "is_concern": false,
        "total_count": 5,
        "total_score": 25,
        "sub_domain_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7d",
        "sub_domain_result_range": {
          "range_max": 16,
          "range_min": 5,
          "range_meta": [],
          "range_name": "Excelling",
          "range_color": "#FFF400",
          "entity_ref_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7c",
          "range_entity_type": "SubDomain"
        } ]

</code>```

By running the below query i am able to get the 2 columns domain_id and score...But i want to have subdomain_id and score as well which is in the nested object.

```<code>

select *
from cte
,jsonb_to_recordset(cte.screener_domain_results)
as items(domain_id text, score text );
</code>```

I have tried to get the nested key like

```<code>select *
from cte
,jsonb_to_recordset(cte.screener_domain_results)
as items(domain_id text, score text , sub_domian_results->subdomain_id text , sub_domian_results->score text);
</code>```

But getting a syntax error. Kindly advise to get this resolved.

Body:
I am using jsonb_recordset function to convert a json object keys to a new record. I am able to do that for a top level keys. How to do the same for the nested keys?

screener_domain_results
[
  {
    "index": 0,
    "score": 24,
    "domain_id": "f758dc46-5107-40b1-ac54-b2419961b721",
    "is_concern": true,
    "total_count": 8,
    "total_score": 40,
    "sub_domian_results": [
      {
        "index": 0,
        "score": 15,
        "is_concern": false,
        "total_count": 5,
        "total_score": 25,
        "sub_domain_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7c",
        "sub_domain_result_range": {
          "range_max": 16,
          "range_min": 5,
          "range_meta": [],
          "range_name": "Excelling",
          "range_color": "#FFF400",
          "entity_ref_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7c",
          "range_entity_type": "SubDomain"
        },

        {
        "index": 1,
        "score": 10,
        "is_concern": false,
        "total_count": 5,
        "total_score": 25,
        "sub_domain_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7d",
        "sub_domain_result_range": {
          "range_max": 16,
          "range_min": 5,
          "range_meta": [],
          "range_name": "Excelling",
          "range_color": "#FFF400",
          "entity_ref_id": "04bea66c-781f-48d6-9bbf-a39961e8dc7c",
          "range_entity_type": "SubDomain"
        } ]

By running the below query i am able to get the 2 columns domain_id and score...But i want to have subdomain_id and score as well which is in the nested object.

select *
from cte
,jsonb_to_recordset(cte.screener_domain_results)
as items(domain_id text, score text );

I have tried to get the nested key like

select *
from cte
,jsonb_to_recordset(cte.screener_domain_results)
as items(domain_id text, score text , sub_domian_results->subdomain_id text , sub_domian_results->score text);

But getting a syntax error. Kindly advise to get this resolved.


问:
How to Fix Data hidden in the header and footer section in the PDF generated by Rotativa?
In my ASP.NET MVC 5, I have an index view Containing multiple transaction data. I installed the latest version 1.6.4 of Rotativa via NuGet.
Now I can print the index page to a PDF using Rotativa. When Data is Excede 9 page then some content is hidden in the header and footer section. I have tried different CSS styles but have not had success.
How can this be achieved using Rotativa?
I have attached a sample PDF file.

```<code>@media all {    .page-break { display: none; } }

@media print {  .page-break { display: block; page-break-before: always; } }
</code>```

Here is Problem
Here is C# Code

Body:
In my ASP.NET MVC 5, I have an index view Containing multiple transaction data. I installed the latest version 1.6.4 of Rotativa via NuGet.
Now I can print the index page to a PDF using Rotativa. When Data is Excede 9 page then some content is hidden in the header and footer section. I have tried different CSS styles but have not had success.
How can this be achieved using Rotativa?
I have attached a sample PDF file.

@media all {    .page-break { display: none; } }

@media print {  .page-break { display: block; page-break-before: always; } }

Here is Problem
Here is C# Code


问:
using bfg or filter-repo, I want to replace text in specific file
my git repo has above files with directory,

service-a

app.config

service-b

app.config

I want to replace the text in service-a/app.config, not service-b/app.config using bfg or filter-repo.

but those looks don't support it. How can I do that?

thanks


问:
Drawing curve in Geogebra with arrow mark
I would like to draw the following picture in Geogebra with arrow mark showing the direction on curve as show in the figure

Image1

I tried the following:

Image2


问:
How to calculate the Euclidean distance between two coordinates values of two columns in a dataset and make a new column with the distance values?
I have two columns consisting of two coordinate values A and B. The 1st column belongs to the values of A[X1,y1] and 2nd column belongs to the values of B[X2, Y2]. The columns are as following:

```<code>  A
[1,2]
[0,1.5]
[3,4]
[2,3]

  B
[1.5,3]
[1,0]
[0,1.5]
[0,1]

</code>```

How can I calculate the Eucleadian distance between A and B and make a new column with the distance values with python?

Body:
I have two columns consisting of two coordinate values A and B. The 1st column belongs to the values of A[X1,y1] and 2nd column belongs to the values of B[X2, Y2]. The columns are as following:

  A
[1,2]
[0,1.5]
[3,4]
[2,3]

  B
[1.5,3]
[1,0]
[0,1.5]
[0,1]

How can I calculate the Eucleadian distance between A and B and make a new column with the distance values with python?


问:
How can we implement other date arrangement instead of english dates in FullCalender react?

I need to implement this nepali dates replacing or in another column in fullcalender react

i have search plugins for other dates format and have replaced time-zone , locale but this doesnot replace the dates which are from engish calender


问:
Google Maps app shows black screen after opening street view via URI Intent - Android
Google map Streetview via intent shows a black loading screen.
Below is the code use for open Streetview Intent via URI,

```<code> val gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988")
 val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
 mapIntent.setPackage("com.google.android.apps.maps")
 startActivity(mapIntent)
</code>```

Intent Code reference is taken from,
Google Maps Intents for Android

Seems like some bug in google map Android App,

https://issuetracker.google.com/issues?q=streetview&p=1

https://issuetracker.google.com/issues/35830773

https://issuetracker.google.com/issues/261816912

Body:
Google map Streetview via intent shows a black loading screen.
Below is the code use for open Streetview Intent via URI,

 val gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988")
 val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri)
 mapIntent.setPackage("com.google.android.apps.maps")
 startActivity(mapIntent)

Intent Code reference is taken from,
Google Maps Intents for Android

Seems like some bug in google map Android App,

https://issuetracker.google.com/issues?q=streetview&p=1

https://issuetracker.google.com/issues/35830773

https://issuetracker.google.com/issues/261816912


问:
Dispatch action on the slice child component?
```<code>const contentType = response.headers.get("content-type");

    if (contentType && contentType.indexOf("application/text") !== -1) {
      response.text().then((result) => {
        if(result === EC_MSG_CONCURRENTCHANGE){
          alert(EC_MSG_CONCURRENTCHANGE);

          // dispatch(updateElementValueInCommonReducer({
          //   elementName: "concurrentPopup",
          //   value: true,
          // }));
          return;
        }
      });
    }
</code>```

I need to dispatch other slice function on the this slice child component

Body:
const contentType = response.headers.get("content-type");

    if (contentType && contentType.indexOf("application/text") !== -1) {
      response.text().then((result) => {
        if(result === EC_MSG_CONCURRENTCHANGE){
          alert(EC_MSG_CONCURRENTCHANGE);

          // dispatch(updateElementValueInCommonReducer({
          //   elementName: "concurrentPopup",
          //   value: true,
          // }));
          return;
        }
      });
    }

I need to dispatch other slice function on the this slice child component


问:
Configuring SpringBoot 3 apps with Windows TLS native certs trust store
Most examples for configuring SpringBoot with TLS store show how to do this with Java store like this:

```<code>server.ssl.enabled=true
server.ssl.protocol=TLS
server.ssl.key-store-password=my_password
server.ssl.key-store-type=keystore_type
server.ssl.key-store=keystore-path
</code>```

However, the JVM can also use/delegate to the  Windows's native certificates store instead, by using a system property at start up, for example:

```<code>java -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT -jar my-springboot-app.jar
</code>```

or

```<code>java -Djavax.net.ssl.trustStoreType=WINDOWS-MY -jar my-springboot-app.jar
</code>```

Does anyone know what the SpringBoot config file should look like for using Windows native cert store? If you just do this:

```<code>server.ssl.enabled=true
server.ssl.protocol=TLS
</code>```

your SpringBoot will fail to start due to missing config options.

Body:
Most examples for configuring SpringBoot with TLS store show how to do this with Java store like this:

server.ssl.enabled=true
server.ssl.protocol=TLS
server.ssl.key-store-password=my_password
server.ssl.key-store-type=keystore_type
server.ssl.key-store=keystore-path

However, the JVM can also use/delegate to the  Windows's native certificates store instead, by using a system property at start up, for example:

java -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT -jar my-springboot-app.jar

or

java -Djavax.net.ssl.trustStoreType=WINDOWS-MY -jar my-springboot-app.jar

Does anyone know what the SpringBoot config file should look like for using Windows native cert store? If you just do this:

server.ssl.enabled=true
server.ssl.protocol=TLS

your SpringBoot will fail to start due to missing config options.


问:
An error when hal server callback app clint function on the android
This problem has troubled me for a long time, and I hope someone kind can help me.

When I was doing a hal program on android12, I encountered such an error "Cannot do a user transaction on a system stability wire protocol version 1 binder (android.hardware.invcase.Callbacks) in a vendor stability context."

android 12 + aidl + hal server + app clint.

Below I describe in detail.

catlog:

header 1
header 2
header 2

Invcase
clint log
E  ------onItemClick----- create

IInvcase
clint log
E  ---create---step---1--

IInvcase
server log
E  invcase_sever create 1

IBpBinder
pid-381
E  Cannot do a user transaction on a system stability wire protocol version 1 binder (android.hardware.invcase.Callbacks) in a vendor stability context.

IInvcase
server log
E  invcase_sever create 2

IInvcase
clint log
E  ---createVics---step---2-- create

IInvcase
clint log
E  ---createVics---step---3-- create

hal server code:

```<code>ndk::ScopedAStatus Invcase::create(const std::shared_ptr<ICallbacks>& in_callbacks,
                                       std::shared_ptr<IVics>* _aidl_return) {
    ALOGE("invcase_sever create 1");
    in_callbacks->OnCallBackSleep("test");
    ALOGE("invcase_sever create 2");
........
</code>```

I expect that when the underlying hardware encounters a specific event, the upper layer application can be notified.
For this reason, in the initialization phase, the upper application client will set some callback functions to the hal server.
In fact, when the hal server calls these functions, the system will report an error.

Body:
This problem has troubled me for a long time, and I hope someone kind can help me.

When I was doing a hal program on android12, I encountered such an error "Cannot do a user transaction on a system stability wire protocol version 1 binder (android.hardware.invcase.Callbacks) in a vendor stability context."

android 12 + aidl + hal server + app clint.

Below I describe in detail.

catlog:

header 1
header 2
header 2

Invcase
clint log
E  ------onItemClick----- create

IInvcase
clint log
E  ---create---step---1--

IInvcase
server log
E  invcase_sever create 1

IBpBinder
pid-381
E  Cannot do a user transaction on a system stability wire protocol version 1 binder (android.hardware.invcase.Callbacks) in a vendor stability context.

IInvcase
server log
E  invcase_sever create 2

IInvcase
clint log
E  ---createVics---step---2-- create

IInvcase
clint log
E  ---createVics---step---3-- create

hal server code:

ndk::ScopedAStatus Invcase::create(const std::shared_ptr<ICallbacks>& in_callbacks,
                                       std::shared_ptr<IVics>* _aidl_return) {
    ALOGE("invcase_sever create 1");
    in_callbacks->OnCallBackSleep("test");
    ALOGE("invcase_sever create 2");
........

I expect that when the underlying hardware encounters a specific event, the upper layer application can be notified.
For this reason, in the initialization phase, the upper application client will set some callback functions to the hal server.
In fact, when the hal server calls these functions, the system will report an error.


问:
Discord.py - how do i make my discord bot display a typing status
i have looked at other similar questions and tried to apply them to my issue but none of them worked

im using discord.py to try to give my bot a typing status. i have looked at the documentation but nothing seems to work here as explained later (this is just a small part of the script. the full thing can be downloaded here)

```<code>greetings=[
    "heyyyyyyy",
    "mm hello",
    "sup",
    "HI!!!",
]

def handle_response(message) -> str:
    p_message = message
    words=p_message.split()

    #for debugging
    print(words)

    if "hey" in words:
        time.sleep(2)
        #trying to implement the typing here
        random_resp=random.choice(greetings)
        return random_resp
</code>```

i have tried this

```<code>if "hey" in words:
    async with channel.typing():
        # simulate something heavy
        await asyncio.sleep(1)
    time.sleep(2)
    random_resp=random.choice(greetings)
    return random_resp
</code>```

and got this error

```<code>    async with channel.typing():
    ^
SyntaxError: 'async with' outside async function
</code>```

i also tried this and got no error but no typing status either

```<code>def handle_response(message) -> str:
    p_message = message
    words=p_message.split()

    #for debugging
    print(words)

    async def on_message(message):
        async with message.channel.typing():
            await asyncio.sleep(1)

    if "hey" in words:
        time.sleep(2)
        random_resp=random.choice(greetings)
        return random_resp
</code>```

again the full script(s) can be downloaded here so you can get a better idea of whats going on.

new to discord python so i should mention a few final things:

still pretty new to coding in general so i dont understand many terms

using pycharm as my IDE

coming from another stack exchange site where the more info about your problem the better

EDIT : this also does not work

in bot.by i have this

```<code>async def send_message(message, user_message, is_private):
    try:
        response = await responses.handle_response(user_message)
        await message.author.send(response) if is_private else await message.channel.send(response)
</code>```

and in responses.py i have this

```<code>greetings=[
    "heyyyyyyy",
    "mm hello",
    "sup",
    "HI!!!",
]

async def handle_response(message) -> str:
    p_message = message
    words=p_message.split()

    #for debugging
    print(words)

    if "hey" in words:
        async def on_message(message):
            async with message.channel.typing():
                await asyncio.sleep(1)
        time.sleep(2)
        random_resp=random.choice(greetings)
        return random_resp
</code>```

no error is given but again no typing status is either

Body:
i have looked at other similar questions and tried to apply them to my issue but none of them worked

im using discord.py to try to give my bot a typing status. i have looked at the documentation but nothing seems to work here as explained later (this is just a small part of the script. the full thing can be downloaded here)

greetings=[
    "heyyyyyyy",
    "mm hello",
    "sup",
    "HI!!!",
]

def handle_response(message) -> str:
    p_message = message
    words=p_message.split()

    #for debugging
    print(words)

    if "hey" in words:
        time.sleep(2)
        #trying to implement the typing here
        random_resp=random.choice(greetings)
        return random_resp

i have tried this

if "hey" in words:
    async with channel.typing():
        # simulate something heavy
        await asyncio.sleep(1)
    time.sleep(2)
    random_resp=random.choice(greetings)
    return random_resp

and got this error

    async with channel.typing():
    ^
SyntaxError: 'async with' outside async function

i also tried this and got no error but no typing status either

def handle_response(message) -> str:
    p_message = message
    words=p_message.split()

    #for debugging
    print(words)

    async def on_message(message):
        async with message.channel.typing():
            await asyncio.sleep(1)

    if "hey" in words:
        time.sleep(2)
        random_resp=random.choice(greetings)
        return random_resp

again the full script(s) can be downloaded here so you can get a better idea of whats going on.

new to discord python so i should mention a few final things:

still pretty new to coding in general so i dont understand many terms

using pycharm as my IDE

coming from another stack exchange site where the more info about your problem the better

EDIT : this also does not work

in bot.by i have this

async def send_message(message, user_message, is_private):
    try:
        response = await responses.handle_response(user_message)
        await message.author.send(response) if is_private else await message.channel.send(response)

and in responses.py i have this

greetings=[
    "heyyyyyyy",
    "mm hello",
    "sup",
    "HI!!!",
]

async def handle_response(message) -> str:
    p_message = message
    words=p_message.split()

    #for debugging
    print(words)

    if "hey" in words:
        async def on_message(message):
            async with message.channel.typing():
                await asyncio.sleep(1)
        time.sleep(2)
        random_resp=random.choice(greetings)
        return random_resp

no error is given but again no typing status is either


问:
kubernetes redis master slave
I'm trying to connect redis in Kubernetes pod. My problem is 1 pod successfully connect and read write but other pods cant write.

There is an example error :

```<code>ReplyError: READONLY You can't write against a read only replica.
</code>```

My pv.yaml

```<code>apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv1
spec:
  storageClassName: local-storage
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/storage/data1"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv2
spec:
  storageClassName: local-storage
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/storage/data2"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv3
spec:
  storageClassName: local-storage
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/storage/data3"
</code>```

My redis-service.yaml

```<code>apiVersion: v1
kind: Service
metadata:
  name: redis
spec:
  clusterIP: None
  ports:
  - port: 6379
    targetPort: 6379
    name: redis
  selector:
    app: redis
</code>```

my redis-statefulset.yaml

```<code>apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis
spec:
  serviceName: redis
  replicas: 6
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      initContainers:
      - name: config
        image: redis:alpine
        command: [ "sh", "-c" ]
        args:
          - |
            cp /tmp/redis/redis.conf /etc/redis/redis.conf

            echo "finding master..."
            MASTER_FDQN=`hostname  -f | sed -e 's/redis-[0-9]\./redis-0./'`
            if [ "$(redis-cli -h sentinel -p 5000 ping)" != "PONG" ]; then
              echo "master not found, defaulting to redis-0"

              if [ "$(hostname)" == "redis-0" ]; then
                echo "this is redis-0, not updating config..."
              else
                echo "updating redis.conf..."
                echo "slaveof $MASTER_FDQN 6379" >> /etc/redis/redis.conf
              fi
            else
              echo "sentinel found, finding master"
              MASTER="$(redis-cli -h sentinel -p 5000 sentinel get-master-addr-by-name mymaster | grep -E '(^redis-\d{1,})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})')"
              echo "master found : $MASTER, updating redis.conf"
              echo "slaveof $MASTER 6379" >> /etc/redis/redis.conf
            fi
        volumeMounts:
        - name: redis-config
          mountPath: /etc/redis/
        - name: config
          mountPath: /tmp/redis/
      containers:
      - name: redis
        image: redis:alpine
        command: ["redis-server"]
        args: ["/etc/redis/redis.conf"]
        ports:
        - containerPort: 6379
          name: redis
        volumeMounts:
        - name: data
          mountPath: /data
        - name: redis-config
          mountPath: /etc/redis/
      volumes:
      - name: redis-config
        emptyDir: {}
      - name: config
        configMap:
          name: redis-config
  volumeClaimTemplates:
  - metadata:
      name: data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "local-storage"
      resources:
        requests:
          storage: 500Mi
</code>```

my sc.yaml

```<code>apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
reclaimPolicy: Delete
</code>```

Main.ts

```<code>import Redis from "ioredis";

const redisClient = new Redis({
  port: 6379,
  host: 'redis',
  password: "a-very-complex-password-here"
})

(() => {
setInterval(async () => {
  try {
    await redisClient.set("TEST::" + Date.now(),"a")
  } catch (error) {
    console.log(error);
  }
},5000)

})()
</code>```

Pod 1 log:

```<code>[
    'TEST::1672209760072', 'TEST::1672209760073', 'TEST::1672149366766',
    'TEST::1672149491854', 'TEST::1672149136595', 'TEST::1672149081725',
    'TEST::1672149276699', 'TEST::1672209840134', 'TEST::1672209800104',
    'TEST::1672209655044', 'TEST::1672209659981', 'TEST::1672209594929',
    'TEST::1672209785102', 'TEST::1672209589922', 'TEST::1672209795107',
    'TEST::1672149296731', 'TEST::1672209735048', 'TEST::1672209700017',
    'TEST::1672209750066', 'TEST::1672209740054', 'TEST::1672149306733',
    'TEST::1672149086555', 'TEST::1672209593891', 'TEST::1672149256729',
    'TEST::1672209730062', 'TEST::1672209695012', 'TEST::1672149136714',
    'TEST::1672149181721', 'TEST::1672149221659', 'TEST::1672149456827',
    'TEST::1672209578963', 'TEST::1672149201722', 'TEST::1672209640039',
    'TEST::1672149186635', 'TEST::1672209625042', 'TEST::1672209610038',
    'TEST::1672209605038', 'TEST::1672149111711', 'TEST::1672149151714',
    'TEST::1672209634958', 'TEST::1672149391784', 'TEST::1672149516863',
    'TEST::1672209573871', 'TEST::1672209820125', 'TEST::1672209563958',
    'TEST::1672209560752', 'TEST::1672149521868', 'TEST::1672149291714',
    'TEST::1672209715059', 'TEST::1672209575748', 'TEST::1672209805109',
    'TEST::1672149526866', 'TEST::1672149261689', 'TEST::1672209565751',
    'TEST::1672209615041', 'TEST::1672209595035', 'TEST::1672149381772',
    'TEST::1672149311728', 'TEST::1672209590040', 'TEST::1672149141599',
    'TEST::1672149471832', 'TEST::1672149461828', 'TEST::1672209820119',
    'TEST::1672209725060', 'TEST::1672209588961', 'TEST::1672209790098',
    'TEST::1672209710024', 'TEST::1672149511859', 'TEST::1672149291731',
    'TEST::1672209578882', 'TEST::1672149191723', 'TEST::1672149141712',
    'TEST::1672209750070', 'TEST::1672149336740', 'TEST::1672209573963',
    'TEST::1672209780096', 'TEST::1672149396786', 'TEST::1672149391782',
    'TEST::1672149091708', 'TEST::1672209580751', 'TEST::1672149176629',
    'TEST::1672209585036', 'TEST::1672209553962', 'TEST::1672209730046',
    'TEST::1672209614945', 'TEST::1672149401788', 'TEST::1672149111579',
    'TEST::1672149361761', 'TEST::1672149236728', 'TEST::1672149416802',
    'TEST::1672149501854', 'TEST::1672149376772', 'TEST::1672209600035',
    'TEST::1672149201646', 'TEST::1672149511861', 'TEST::1672209845144',
    'TEST::1672209568866', 'TEST::1672209805112', 'TEST::1672149326734',
    'TEST::1672149146601',
    ... 219 more items
  ]
</code>```

Pod 2 log :

```<code>ReplyError: READONLY You can't write against a read only replica.
    at parseError (/usr/src/app/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'set', args: [ 'UFUK::1672209926379', 'a' ] }
}
[]
ReplyError: READONLY You can't write against a read only replica.
    at parseError (/usr/src/app/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'set', args: [ 'UFUK::1672209926381', 'a' ] }
}
ReplyError: READONLY You can't write against a read only replica.
    at parseError (/usr/src/app/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'set', args: [ 'UFUK::1672209931382', 'a' ] }
}
[]
</code>```

What can I do?

Title: kubernetes redis master slave

Body:
I'm trying to connect redis in Kubernetes pod. My problem is 1 pod successfully connect and read write but other pods cant write.

There is an example error :

ReplyError: READONLY You can't write against a read only replica.

My pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv1
spec:
  storageClassName: local-storage
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/storage/data1"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv2
spec:
  storageClassName: local-storage
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/storage/data2"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv3
spec:
  storageClassName: local-storage
  capacity:
    storage: 2Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/storage/data3"

My redis-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis
spec:
  clusterIP: None
  ports:
  - port: 6379
    targetPort: 6379
    name: redis
  selector:
    app: redis

my redis-statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis
spec:
  serviceName: redis
  replicas: 6
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      initContainers:
      - name: config
        image: redis:alpine
        command: [ "sh", "-c" ]
        args:
          - |
            cp /tmp/redis/redis.conf /etc/redis/redis.conf

            echo "finding master..."
            MASTER_FDQN=`hostname  -f | sed -e 's/redis-[0-9]\./redis-0./'`
            if [ "$(redis-cli -h sentinel -p 5000 ping)" != "PONG" ]; then
              echo "master not found, defaulting to redis-0"

              if [ "$(hostname)" == "redis-0" ]; then
                echo "this is redis-0, not updating config..."
              else
                echo "updating redis.conf..."
                echo "slaveof $MASTER_FDQN 6379" >> /etc/redis/redis.conf
              fi
            else
              echo "sentinel found, finding master"
              MASTER="$(redis-cli -h sentinel -p 5000 sentinel get-master-addr-by-name mymaster | grep -E '(^redis-\d{1,})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})')"
              echo "master found : $MASTER, updating redis.conf"
              echo "slaveof $MASTER 6379" >> /etc/redis/redis.conf
            fi
        volumeMounts:
        - name: redis-config
          mountPath: /etc/redis/
        - name: config
          mountPath: /tmp/redis/
      containers:
      - name: redis
        image: redis:alpine
        command: ["redis-server"]
        args: ["/etc/redis/redis.conf"]
        ports:
        - containerPort: 6379
          name: redis
        volumeMounts:
        - name: data
          mountPath: /data
        - name: redis-config
          mountPath: /etc/redis/
      volumes:
      - name: redis-config
        emptyDir: {}
      - name: config
        configMap:
          name: redis-config
  volumeClaimTemplates:
  - metadata:
      name: data
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "local-storage"
      resources:
        requests:
          storage: 500Mi

my sc.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
reclaimPolicy: Delete

Main.ts

import Redis from "ioredis";

const redisClient = new Redis({
  port: 6379,
  host: 'redis',
  password: "a-very-complex-password-here"
})

(() => {
setInterval(async () => {
  try {
    await redisClient.set("TEST::" + Date.now(),"a")
  } catch (error) {
    console.log(error);
  }
},5000)

})()

Pod 1 log:

[
    'TEST::1672209760072', 'TEST::1672209760073', 'TEST::1672149366766',
    'TEST::1672149491854', 'TEST::1672149136595', 'TEST::1672149081725',
    'TEST::1672149276699', 'TEST::1672209840134', 'TEST::1672209800104',
    'TEST::1672209655044', 'TEST::1672209659981', 'TEST::1672209594929',
    'TEST::1672209785102', 'TEST::1672209589922', 'TEST::1672209795107',
    'TEST::1672149296731', 'TEST::1672209735048', 'TEST::1672209700017',
    'TEST::1672209750066', 'TEST::1672209740054', 'TEST::1672149306733',
    'TEST::1672149086555', 'TEST::1672209593891', 'TEST::1672149256729',
    'TEST::1672209730062', 'TEST::1672209695012', 'TEST::1672149136714',
    'TEST::1672149181721', 'TEST::1672149221659', 'TEST::1672149456827',
    'TEST::1672209578963', 'TEST::1672149201722', 'TEST::1672209640039',
    'TEST::1672149186635', 'TEST::1672209625042', 'TEST::1672209610038',
    'TEST::1672209605038', 'TEST::1672149111711', 'TEST::1672149151714',
    'TEST::1672209634958', 'TEST::1672149391784', 'TEST::1672149516863',
    'TEST::1672209573871', 'TEST::1672209820125', 'TEST::1672209563958',
    'TEST::1672209560752', 'TEST::1672149521868', 'TEST::1672149291714',
    'TEST::1672209715059', 'TEST::1672209575748', 'TEST::1672209805109',
    'TEST::1672149526866', 'TEST::1672149261689', 'TEST::1672209565751',
    'TEST::1672209615041', 'TEST::1672209595035', 'TEST::1672149381772',
    'TEST::1672149311728', 'TEST::1672209590040', 'TEST::1672149141599',
    'TEST::1672149471832', 'TEST::1672149461828', 'TEST::1672209820119',
    'TEST::1672209725060', 'TEST::1672209588961', 'TEST::1672209790098',
    'TEST::1672209710024', 'TEST::1672149511859', 'TEST::1672149291731',
    'TEST::1672209578882', 'TEST::1672149191723', 'TEST::1672149141712',
    'TEST::1672209750070', 'TEST::1672149336740', 'TEST::1672209573963',
    'TEST::1672209780096', 'TEST::1672149396786', 'TEST::1672149391782',
    'TEST::1672149091708', 'TEST::1672209580751', 'TEST::1672149176629',
    'TEST::1672209585036', 'TEST::1672209553962', 'TEST::1672209730046',
    'TEST::1672209614945', 'TEST::1672149401788', 'TEST::1672149111579',
    'TEST::1672149361761', 'TEST::1672149236728', 'TEST::1672149416802',
    'TEST::1672149501854', 'TEST::1672149376772', 'TEST::1672209600035',
    'TEST::1672149201646', 'TEST::1672149511861', 'TEST::1672209845144',
    'TEST::1672209568866', 'TEST::1672209805112', 'TEST::1672149326734',
    'TEST::1672149146601',
    ... 219 more items
  ]

Pod 2 log :

ReplyError: READONLY You can't write against a read only replica.
    at parseError (/usr/src/app/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'set', args: [ 'UFUK::1672209926379', 'a' ] }
}
[]
ReplyError: READONLY You can't write against a read only replica.
    at parseError (/usr/src/app/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'set', args: [ 'UFUK::1672209926381', 'a' ] }
}
ReplyError: READONLY You can't write against a read only replica.
    at parseError (/usr/src/app/node_modules/redis-parser/lib/parser.js:179:12)
    at parseType (/usr/src/app/node_modules/redis-parser/lib/parser.js:302:14) {
  command: { name: 'set', args: [ 'UFUK::1672209931382', 'a' ] }
}
[]

What can I do?


问:
Spinner divider color change of time picker in android watch using Android Jetpack Compose
I am trying to customize the color of time picker spinner divider of Android watch app.

I have tried using the customized style elements. But the divider color is not changing. Can anyone help me please???


问:
Trying to setup y combinator using C# delegate type
I am trying to write Y combinator as C# delegate so I can understand the types but I am failing. I appreciate any help or hint.</p>
```<code>Rec<T> Y<T>(ToRec<T> f)
{
    Rec<T> nested(Rec<T> x)
    {
        return f(x(x));
    }

    return nested(nested);
}

Y<string>(Y);  // This line doesn't type check

delegate Rec<T> ToRec<T>(T x);
delegate T Rec<T>(Rec<T> x);
</code>```

Body:
I am trying to write Y combinator as C# delegate so I can understand the types but I am failing. I appreciate any help or hint.

Rec<T> Y<T>(ToRec<T> f)
{
    Rec<T> nested(Rec<T> x)
    {
        return f(x(x));
    }

    return nested(nested);
}

Y<string>(Y);  // This line doesn't type check

delegate Rec<T> ToRec<T>(T x);
delegate T Rec<T>(Rec<T> x);


问:
onesignal api php not detecting "send_after" parameter
I am sending this value to send_after parameter with php: "2022-12-28 11:47:00 GMT+300"
but the notification does not come at the time I choose, it comes instantly.

```<code>$date = date_create("2022-12-28 11:47");
echo $date2 = date_format($date,"Y-m-d H:i:s")." GMT+300";
// output: 2022-12-28 11:47:00 GMT+300
</code>```

https://documentation.onesignal.com/reference/create-notification
I send it in the correct format according to the document, but still notifications come instantly, not when I choose

Body:
I am sending this value to send_after parameter with php: "2022-12-28 11:47:00 GMT+300"
but the notification does not come at the time I choose, it comes instantly.

$date = date_create("2022-12-28 11:47");
echo $date2 = date_format($date,"Y-m-d H:i:s")." GMT+300";
// output: 2022-12-28 11:47:00 GMT+300

https://documentation.onesignal.com/reference/create-notification
I send it in the correct format according to the document, but still notifications come instantly, not when I choose


问:
Why upstream timed out (110: Connection timed out) happened in NGINX?
Following error about upstream timed out happened in NGINX.

upstream timed out (110: Connection timed out) while connecting to upstream

upstream timed out (110: Connection timed out) while SSL handshaking to upstream

upstream timed out (110: Connection timed out) while reading response header from upstream

I would like to know below...

default value to detect each of the error. ex) 60sec etc...

cause why these errors happened

how to solve this error


问:
Can I convert from detectron2 model to tflite model and use it in Android studio?
There is a library called d2go, but I have already finished learning with detectron2.
So I converted the format of the model in this order.

pth -> onnx -> pb -> tflite

It works in the android studio, but no results are available result.

Please give me some advice. Thank u.


问:
how do I figure out which validator to give an error in form-control
In a component with an input, I pass an array of such objects for validation:

```<code>export class ValidatorItem {
    validator: ValidatorFn;
    errorText: string;
}
</code>```

in component:

```<code> ngOnChanges(changes: SimpleChanges): void {
    if ('validators' in changes) {
      this.formModel = this.formBuilder.group({
        value: ['', Validators.compose(this.validators.map(v => v.validator))],
      });
    }
 }
</code>```

that is, I need to get an errorText message depending on which validator fell. How can i do this?

Body:
In a component with an input, I pass an array of such objects for validation:

export class ValidatorItem {
    validator: ValidatorFn;
    errorText: string;
}

in component:

 ngOnChanges(changes: SimpleChanges): void {
    if ('validators' in changes) {
      this.formModel = this.formBuilder.group({
        value: ['', Validators.compose(this.validators.map(v => v.validator))],
      });
    }
 }

that is, I need to get an errorText message depending on which validator fell. How can i do this?


问:
validationError: Progress plugin invalid options VueJS
There are several vulnerabilities shows in audit fix command in my vue project. When I upgrade @vue/cli-service package to v5.0.8 from v4.5.17, I get progressPlugin error.

My other package version are:

```<code>"dependencies": {
"core-js": "^3.6.5",
"idle-vue": "^2.0.5",
"moment": "^2.29.4",
"text-mask-addons": "^3.8.0",
"v-mask": "^2.2.4",
"vue": "^2.6.11",
"vue-moment": "^4.1.0",
"vue-router": "^3.2.0",
"vuetify": "^2.6.13",
"vuex": "^3.4.0"
 },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-plugin-vuex": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "axios": "^0.18.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.2.2",
    "node-sass": "^4.12.0",
    "sass": "^1.32.0",
    "sass-loader": "^10.0.0",
    "vue-cli-plugin-axios": "^0.0.4",
    "vue-cli-plugin-vuetify": "^2.4.5",
    "vue-template-compiler": "^2.6.11",
    "vuetify-loader": "^1.7.0"
  },
</code>```

Body:
There are several vulnerabilities shows in audit fix command in my vue project. When I upgrade @vue/cli-service package to v5.0.8 from v4.5.17, I get progressPlugin error.

My other package version are:

"dependencies": {
"core-js": "^3.6.5",
"idle-vue": "^2.0.5",
"moment": "^2.29.4",
"text-mask-addons": "^3.8.0",
"v-mask": "^2.2.4",
"vue": "^2.6.11",
"vue-moment": "^4.1.0",
"vue-router": "^3.2.0",
"vuetify": "^2.6.13",
"vuex": "^3.4.0"
 },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-plugin-vuex": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "axios": "^0.18.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.2.2",
    "node-sass": "^4.12.0",
    "sass": "^1.32.0",
    "sass-loader": "^10.0.0",
    "vue-cli-plugin-axios": "^0.0.4",
    "vue-cli-plugin-vuetify": "^2.4.5",
    "vue-template-compiler": "^2.6.11",
    "vuetify-loader": "^1.7.0"
  },