How to Generate 1001 Unique JavaScript Expressions with a Value of i Using Only ![]+-* Characters?

You should simply upload or paste the output file. Your output should contain 1001
lines. For each i from range [0, 1000], line i + 1 of the output must contain a valid
JavaScript expression consisting only of the characters ![]+-* that results to a number
typeof(result) == “number” with value i. Note that the expression should not contain
any whitespace.
Additionally, each JavaScript expression should contain no more than 200
characters.
Example of the output
+![]
+!![]
… (999 more lines)

the answer ……….

Is there an event triggered when a ratio button is checked?

In JavaScript, is there an event triggered when a radio button is checked?

<input type="radio" name="radio" id="radio1">
<input type="radio" name="radio" id="radio2" checked>
<input type="radio" name="radio" id="radio3">

Is something like the following possible?

document.getElementById("radio1").addEventListener('checked', () => {
    // Do something when the first radio button is checked
})

JSfidde: https://jsfiddle.net/Imabot/ko486uqe/2/

How to call javascript function on document.ReadyState inside updatepanel?

I can not call javascript function asynchronosly inside UpdatePanel1 when document.getElementById(‘<%= GridView1.ClientID %>’).readyState !== “complete”. When Button1 fires it works asynchoronosly on server side but does not work on client side and so it does not call javascript function.

Here is my UpdatePanel1:

 <asp:UpdatePanel ID="UpdatePanel1" UpdateMode ="Conditional" ChildrenAsTriggers= "true" runat="server" >
     <Triggers>
         <asp:AsyncPostBackTrigger ControlID="ButtonLoadGridView" /> 
         <asp:AsyncPostBackTrigger ControlID="Button_test2" />   
         <asp:AsyncPostBackTrigger ControlID="Button_test3" />               
     </Triggers>                
  <ContentTemplate>`

My Button: ID=”ButtonLoadGridView”:

protected void ButtonLoadGridView_Click(object sender, EventArgs e)
{
    GridView1.DataSource = "dsData";
    GridView1.DataBind();
}

Here is javascript code need to call when GridView1 is ready:

document.onreadystatechange = function () 

    {
            if (document.getElementById('<%= GridView1.ClientID %>').readyState !== "complete") 
        
        {
     
            window.onload = function ti() 

        {     

        
                document.getElementById('<%= Label_Clients.ClientID %>').scrollIntoView({ behavior: 'smooth' });
                alert("Your data is loaded');

        }
     }
  }
            

What I expect is that this simple javascript code from above:

 document.getElementById('<%= Label_Clients.ClientID %>').scrollIntoView({ behavior: 'smooth' });
                alert("Your data is loaded');

be called after when GridView1 is ready but it does not work asynchoronosly in UpdatePanel

How can I fix the issue with closing my lightbox modal window in HTML and CSS?

I just created a lightbox modal for displaying images. When an image is clicked, a modal window appears with navigation buttons to switch between images. However, there is currently an issue with closing the modal window by clicking on the blank area. It seems that the z-index values of the elements are causing conflicts, despite my attempts to assign different values to them. I would greatly appreciate your assistance in resolving this matter. Thank you.

<style>
/* Mobile Styles */
  @media (max-width: 767px){
    .mySlides img {
      width: 100%;
    }
  }
  
  /* Desktop Styles */
  @media (min-width: 768px) {
    .mySlides img {
      width: 70%;
    }
}
.mySlides img{margin: 0 auto;
position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  max-height: 100%;}
.mySlides{height: 100vh;}
  
.background-image {
  position: fixed;
z-index: auto;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  cursor: pointer;
}
* {
  box-sizing: border-box;
}

.row > .column {
  padding: 0 8px;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

.column {
  float: left;
  width: 25%;
}

/* The Modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: auto;
  padding-top: 10px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  /* overflow: auto; */
  background-color: black;
}

/* Modal Content */
.modal-content {
  position: relative;
  /*background-color: #fefefe;*/
  margin: auto;
  padding: 0;
  width: 100%;
  /* max-width: 1200px; */
}

/* The Close Button */
.close {
  color: white;
  position: absolute;
  top: 10px;
  right: 25px;
  font-size: 35px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: #999;
  text-decoration: none;
  cursor: pointer;
}

.mySlides {
  display: none;
text-align: center; /* Center the image within the container */
}

.cursor {
  cursor: pointer;
}

/* Next & previous buttons */
.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: white;
  font-weight: bold;
  font-size: 20px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
z-index: auto;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

img {
  margin-bottom: -4px;
}
.demo {
  opacity: 0.6;
}

.active,
.demo:hover {
  opacity: 1;
}

img.hover-shadow {
  transition: 0.3s;
}

.hover-shadow:hover {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.grid { 
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
  align-items: stretch;
  justify-items: center;
padding: 20px;
  }
.grid img {
  box-shadow: 2px 2px 6px 0px  rgba(0,0,0,0.3);
  max-width: 100%;
}
</style>
<div  class="parent-cont">
<main class="grid">
  <img onclick="openModal();currentSlide(1)" src="https://only4gamers.net/wp-content/uploads/2023/05/New-2.png" alt="Sample photo">
  <img onclick="openModal();currentSlide(2)" src="https://only4gamers.net/wp-content/uploads/2023/05/New-3.png" alt="Sample photo">
  <img onclick="openModal();currentSlide(3)" src="https://only4gamers.net/wp-content/uploads/2023/05/New-13.png" alt="Sample photo">
  <img onclick="openModal();currentSlide(4)" src="https://only4gamers.net/wp-content/uploads/2023/05/New-12.png" alt="Sample photo">
</main>



</div>
</div>

<div id="myModal" class="modal">
  <img src="https://only4gamers.net/wp-content/uploads/2023/05/Transparent-1-pixel.png" class="background-image" onclick="closeModal()">
  <div class="modal-content">

    <div class="mySlides">
      <img style="z-index: auto;" src="https://only4gamers.net/wp-content/uploads/2023/05/New-2.png">
    </div>

    <div class="mySlides">
      <img style="z-index: auto;" src="https://only4gamers.net/wp-content/uploads/2023/05/New-3.png">
    </div>

    <div class="mySlides">
      <img style="z-index: auto;" src="https://only4gamers.net/wp-content/uploads/2023/05/New-13.png">
    </div>
    
    <div class="mySlides">
      <img style="z-index: auto;" src="https://only4gamers.net/wp-content/uploads/2023/05/New-12.png">
    </div>
    
    <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
    <a class="next" onclick="plusSlides(1)">&#10095;</a>
  </div>
</div>

https://codepen.io/Only4Gamers/pen/PoyXojW

How is props.children added inside opening and closing tags in React JS with children=”xyz” attribute?

This is how I understand props.children in React:

class ThemedButton extends React.Component {
  render() {
    console.log(this.props);
    return ( <
      button > {
        this.props.children
      }
      " 12345" <
      /button>
    );
  }
}

function Toolbar(props) {
  return ( <
    ThemedButton onClick = {
      props.changeTheme
    } >
    Change Theme <
    /ThemedButton>
  );
}



ReactDOM.render( < Toolbar / > , document.getElementById('root'));
//this will generate <button>Change Theme 12345</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>


<div id="root"></div>

So basically any child node(s) of ThemedButton will be put in place of props.children. This makes sense, but what doesn’t make sense is if I omit props.children and instead just pass {...props} as attribute or use children attribute as property on the button tag, it still inserts the child node(s). Following is the example:

class ThemedButton extends React.Component {
  render() {
    console.log(this.props);
    return ( 
    <button {...this.props}  ></button>  //child nodes are added automatically     
    );
  }
}

class ThemedButton2 extends React.Component {
  render() {
    console.log(this.props);
    return ( 
    <button children="XYZ"  ></button>
    );
  }
}


function Toolbar(props) {
  return ( 
  <React.Fragment>
    <
    ThemedButton onClick = {
      props.changeTheme
    } >
    Change Theme <
    /ThemedButton>
    <ThemedButton2> Change theme2 </ThemedButton2>
  </React.Fragment>
  );
}



ReactDOM.render( < Toolbar / > , document.getElementById('root'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.1/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.1/umd/react-dom.production.min.js"></script>

<div id="root"></div>

As you can see {...props} on button seemingly brings actual child nodes of ThemedButton> as children property. In ThemedButton2 I manually provided children="xyz", which automatically inserts xyz as child nodes of button.

Why is this happening? Where does react explain this in it’s official documentation?

Connect node app to MongoDB without kerberos

Im trying to access a mongoDB dB in our dev environment which is hosted on Unix servers and seems to use some GSSAPI authentication

For our deployed spring java and node microservices, it is hosted on OpenShift along with several files like krb5.conf/some keytab file/some MongoLongin.conf etc

App will use a connection string like:
“mongodb://serviceaccount:password@unixServerA:27018,unixServerB:27018,unixServerC:27018/mydb?replicaSet=myreplica”

I’m not too familiar with kubernetes authentication but I presume these files are required to successfully allow the app from its hosted dev environment to connect to the dev DB (hosted on different servers)

However on my local windows machine with mongo downloaded, I can access the same dev database just fine without any of these files if I create a bat file with below connection string:

...mongo.exe "mongodb://unixServerA:27018,unixServerB:27018,unixServerC:27018/mydb?replicaSet=myreplica" --authenticationMechanism=GSSAPI --authenticationDatabase=$external --username "[email protected]" --password "mypassword" -tls -tlsCAFile C:pathca.pem

I.e similar connection string but with credentials passed as additional parameters (my own credentials since I have access to DB) along with tls parameters

My question is, whether it is possible to connect to the same DB via running a java or node app on Windows local machine without needing kerberos?

I have java/node apps that can connect to a local running mongoDB (localhost). I presume if I can connect to the external DB via a bat script without needing these kerberos files then it should be possible to connect my local apps to it the same way?

Below is a test node app I created to try and connect to the external DB:

const { MongoClient } = require('mongodb');
const path = require('path');
const myCert = path.join(__dirname, '..\ca.pem');

async function main(){
    const mongoUri="mongodb://myusername:password@unixServerA:27018,unixServerB:27018,unixServerC:27018/mydb?replicaSet=myreplica";
    //note im using same credentials here as in my Windows bat file and not the app service account like above

    var mongoOpt = {
        authMechanism: "GSSAPI",
        tlsAllowInvalidHostnames: true,
        tlsAllowInvalidCertificates: true,
        tlsCertificateFile: myCert
    };

    const client = new MongoClient(mongoUri, mongoOpt);
    client.db("myDB", {authSource: "$external"};
    try{
        await client.connect();
        console.info("connected");
    } catch (e) {
        console.error(e);
    } finally {
        await client.close();
    }
}

Above will give MongoSelectionError: connection < monitor > to < some ip > closed

Reason: ReplicaSetNoPrimary

How to fix ‘Unexpected token’ error while importing createClient from Contentful in Next.js?

Error while importing createClient from contentful in Next

./node_modules/contentful/dist/contentful.browser.min.js 1:70615
Module parse failed: Unexpected token (1:70615)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders

enter image description here

How to post JSON to a flask server using only Fetch in JS?

My Question is purely experimental has no utility

currently I am posting JSON to a flask server using :

send.js:

json_body={'a':'this isa','two':2}
fetch("http://127.0.0.1/json_parser", {
method: "POST",
mode: 'no-cors',
body: json_body,
headers: {
  "Content-type": "application/json; charset=UTF-8"
}
})

flask_server.py:

@app.route('/json_parser', methods=['POST'])
def json_parser():
    try :
        pretty_json=json.dumps(request.get_json(force=True),sort_keys=True, indent=4)
        print(pretty_json)
    except Exception as e :
        print(e)
    return jsonify("<html> <body><h1>Well_Done_Jason!</h1> are now a beginner<body></html>")

but instead of getting a nice JSON print out I am getting the following exception

`400 Bad Request: Failed to decode JSON object: Expecting value: line
1 column 2 (char 1)

Given JSON to me means native JS object I thought I should be able to just pass the object to the body, that did not work as provided via the exception print out.

so I tried:

body: JSON.stringify(json_object)

but flask threw out this exception:

string indices must be integers

Pass Class method in a functions aruguments to call within the function

I want to pass a class method into a function and call that method inside that function. Here is the code:

class Cube {
    constructor() { //setup the cube and if using a previous cube, setup with that
        this.white = 'white'
    }
    changeColour(){
        this.white = 'yellow'
    }
}

const cubeClass = new Cube()

function change(classMethod){
    classMethod()
}
change(cubeClass.changeColour)

I am getting this error:

Cannot read properties of undefined (reading 'white')

I want it to be able to change the colour in the class, from calling the change function, so it can change it from white to yellow

Function do not work across different components

The functions currently work correctly on the initial page. However, when navigating to another page, they do not function as intended. On the initial page, there is a simple navbar with a search form, followed by another navbar with links. Additionally, there are three cards displayed, each containing a title, category, description, and a link to navigate to a different page.

The issue arises when navigating to another page from one of the cards. The desired behavior is to maintain the functionality of the search form and category selection regardless of the location. For example, if I click on a card that takes me to the “USA page” displaying “USA Category content,” I expect to be able to search for other cards without having to go back to the initial page.

To clarify, when searching or changing the category on any page, the current content (e.g., “USA Category content”) should disappear, and the cards should be filtered and displayed accordingly. The same applies to the category change functionality.

import React, { useState } from 'react';
import { BrowserRouter as Router, Routes, Route, Link, useLocation } from 'react-router-dom';
import "./App.css";

function App() {
  const [searchQuery, setSearchQuery] = useState('');
  const [selectedCategory, setSelectedCategory] = useState('all');
  const [searchButtonClicked, setSearchButtonClicked] = useState(false);

  const filteredData = [
    {
      id: 1,
      title: "Hola Mexico",
      category: "Mexico",
      pagePath: "/mexico",
      text: "Learn More",
      description: "loren ipsum loren ipssum loren ipsum"
    },
    {
      id: 2,
      title: "Hola USA",
      category: "USA",
      pagePath: "/usa",
      text: "Learn More",
      description: "loren ipsum loren ipssum loren ipsum"
    },
    {
      id: 3,
      title: "Hola America",
      category: "America",
      pagePath: "/america",
      text: "Learn More",
      description: "loren ipsum loren ipssum loren ipsum"
    },
  ];

  const handleSearchChange = (event) => {
    setSearchQuery(event.target.value);
  };

  const handleSearchButtonClick = (event) => {
    event.preventDefault();
    setSearchButtonClicked(true);
  };

  const handleCategoryChange = (category) => {
    setSelectedCategory(category);
    setSearchQuery('');
    setSearchButtonClicked(false);
  };

  const filteredCards = filteredData.filter((item) => {
    if (selectedCategory === 'all') {
      return item.title.toLowerCase().includes(searchQuery.toLowerCase());
    } else {
      return (
        item.category === selectedCategory &&
        item.title.toLowerCase().includes(searchQuery.toLowerCase())
      );
    }
  });

  return (
    <div>
      <div className="navbar">
        <form className="search-form">
          <input
            type="text"
            className="search-input"
            placeholder="Search"
            value={searchQuery}
            onChange={handleSearchChange}
          />
          <button
            type="submit"
            className="search-button"
            onClick={handleSearchButtonClick}
          >
            Go
          </button>
        </form>
      </div>
      <nav className="navbar2">
        <ul className="nav-links">
          <li>
            <button onClick={() => handleCategoryChange('all')}>All</button>
          </li>
          <li>
            <button onClick={() => handleCategoryChange('Mexico')}>Mexico</button>
          </li>
          <li>
            <button onClick={() => handleCategoryChange('USA')}>USA</button>
          </li>
          <li>
            <button onClick={() => handleCategoryChange('America')}>America</button>
          </li>
        </ul>
      </nav>
      <Routes>
        <Route
          path="/"
          element={<HomePage filteredCards={filteredCards} />}
        />
        <Route
          path="/mexico"
          element={<MexicoPage filteredCards={filteredCards} />}
        />
        <Route
          path="/usa"
          element={<USAPage filteredCards={filteredCards} />}
        />
        <Route
          path="/america"
          element={<AmericaPage filteredCards={filteredCards} />}
        />
      </Routes>
    </div>
  );
}

function HomePage({ filteredCards }) {
  return (
    <>
      {filteredCards.length === 0 ? (
        <p>No matching cards found.</p>
      ) : (
        filteredCards.map((item) => (
          <div className="card" key={item.id}>
            <h2 className="card-title">{item.title}</h2>
            <h2 className="card-category">{item.category}</h2>
            <p className="card-description">{item.description}</p>
            <Link to={item.pagePath}>{item.text}</Link>
          </div>
        ))
      )}
    </>
  );
}

function MexicoPage() {
  return (
    <>
      <h2>Mexico category content</h2>      
    </>
  );
}

function USAPage() {
  return (
    <>
      <h2>USA category content</h2>
     
    </>
  );
}

function AmericaPage() {
  return (
    <>
      <h2>America category content</h2>
     
    </>
  );
}

export default App;






                  

I passed the functions as props to the components, I change this code without success.

const filteredCards = filteredData.filter((item) => {
  const { category, text, description } = item;
  const lowerCaseSearchTerm = searchTerm.toLowerCase();
  return (
    (!selectedCategory ||
      selectedCategory === "All" ||
      category === selectedCategory) && // <-- this conditional
    (category.toLowerCase().includes(lowerCaseSearchTerm) ||
      text.toLowerCase().includes(lowerCaseSearchTerm) ||
      description.toLowerCase().includes(lowerCaseSearchTerm))
  );
}); for this one 
const filteredCards = filteredData.filter((item) => {
  const { category, text, description } = item;
  const lowerCaseSearchTerm = searchTerm.toLowerCase();
  return (
    (!selectedCategory ||
      selectedCategory === "All" ||
      category === selectedCategory) || // <-- be more inclusive
    (category.toLowerCase().includes(lowerCaseSearchTerm) ||
      text.toLowerCase().includes(lowerCaseSearchTerm) ||
      description.toLowerCase().includes(lowerCaseSearchTerm))
  );
});

Pixi js Tiling sprite repeating in all axis

I’ve got a problem that I can’t solve on my own. I’ve created a scene using fragments of a PNG image in Pixi.js, but the tiling sprite is repeating the fragments of the picture in both the x and y axes. You can see what I mean in this picture:
I feel palpable pain when I see this scene

I`m using Pixi.js 5+

Here is my code:

  createTilingSprite(){
    const texture = Texture.from(this.spriteName);
    const tilingSprite = new TilingSprite(
      texture,
      window.innerWidth,
      window.innerHeight
    )
    tilingSprite.position.set(0, 0)
    return tilingSprite;
}

I`ve tried uvMatrix, and MarginCla,p, but this propertes are set for another circumstances.

how can i done the css keyframe animation for the arrow

I’m trying to implement the problem if I click the hit button the arrow will move and touch the circle and change the color of the circle. I tried to implement it with the CSS keyframe and javascript

function hit() {
  var circle = document.getElementById('circle');
  var arrow = document.getElementById('arrow');

  // Calculate the distance between the arrow and the circle's center
  var arrowPos = arrow.getBoundingClientRect();
  var circlePos = circle.getBoundingClientRect();
  var distance = Math.sqrt(Math.pow(arrowPos.left - circlePos.left, 2) + Math.pow(arrowPos.top - circlePos.top, 2));

  // If the distance is less than or equal to the sum of the arrow's width and half of the circle's width, they are touching
  if (distance <= arrow.offsetWidth + circle.offsetWidth / 2) {
    circle.style.backgroundColor = 'green';
  }
}

function reset() {
  var circle = document.getElementById('circle');
  circle.style.backgroundColor = 'blue';
}
.container {
  border: 3px solid black;
  height: 60vh;
  width: 90vh;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

h1 {
  text-align: center;
}

.circle {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: blue;
  margin-left: 12px;
}

.icon-arrow {
  width: 90px;
  height: 3px;
  background-color: black;
  border-radius: 2px;
  position: relative;
  margin-right: 12px;
  animation-name: icon;
  animation-duration: 5s;
}

.icon-arrow:after {
  content: '';
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: black;
  transform: rotate(45deg);
  position: absolute;
  left: -5px;
  top: 11px;
}

.icon-arrow:before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: black;
  transform: rotate(-45deg);
  position: absolute;
  right: 65px;
  bottom: 9px;
}

.button {
  float: right;
  margin-right: 260px;
  padding-top: 9px;
  width: 20%;
  border-radius: 3px;
}

.button button {
  width: 20%;
  color: white;
  background-color: grey;
  margin-right: 16px
}

@keyframes icon {
  10% {
    top: 0px;
    left: 0px;
  }
}
<body>

  <h1>Bubble App</h1>

  <section class="container">

    <div class="circle"></div>
    <div class="icon-arrow"></div>

  </section>

  <div class="button" role="button">
    <button onclick="hit()">Hit</button>
    <button onclick="reset()">Reset</button><br>
  </div>

</body>

trying to implement it with the CSS keyframe animation but that’s not working I don’t have any idea about the keyframe and javascript. I’m new in javascript.

I’m trying to implement the problem if I click the hit button the arrow will move and touch the circle and change the color of the circle. I tried to implement it with the CSS keyframe and javascript Anyone please help me to solve this problem

How can I upload files to the replicate API with Node JS

I’m trying to use the sadTalker AI model through replicate.

The point of sadtalker is that you upload an image of a person and an audio file of someone talking, and it gives you back a deepfake video of someone talking.

I’ve setup a basic environment to do this. All I have is a .env file storing my API key, two files called deepfakeAudio.mp3 and deepfakeImage.jpg.

My code is as follows:

import Replicate from "replicate";

import dotenv from "dotenv";
import fs from "fs";

dotenv.config();

fs.readFile("./deepfakeImage.jpg", (error, inputImage) => {
  fs.readFile("./deepfakeAudio.mp3", (error, inputAudio) => {
    getVideo();
  });
});

async function getVideo(inputImage, inputAudio) {
  const replicate = new Replicate({
    auth: process.env.REPLICATE_API_TOKEN,
  });
  const output = await replicate.run(
    "cjwbw/sadtalker:3aa3dac9353cc4d6bd62a8f95957bd844003b401ca4e4a9b33baa574c549d376",
    {
      input: {
        source_image: inputImage,
        driven_audio: inputAudio
      }
    }
  );
  console.log(output);
}

When I try to run this, I get the error:

throw new Error(`API request failed: ${response.statusText}`);
            ^

Error: API request failed: Unprocessable Entity

The problem is that I don’t know how I’m supposed to load the image and audio into the API.

To load the image and audio, I’ve tried 2 things:

The first time, I tried to just input the path of the audio and image. This gave me an error.

The second time, as shown in the code, I tried to load the audio and image using fs, I still get an error.

Has anyone experienced this issue before?

This is very confusing because I have no idea of what I’m actually supposed to do.