Snippets Collections
const downloadVideo = (urls: string) => {
  axios({
    url,
    method: 'GET',
    responseType: 'blob',
  }).then((response) => {
    const urlObject = window.URL.createObjectURL(new Blob([response.data]));
    const link = document.createElement('a');
    link.href = urlObject;
    link.setAttribute('download', 'recording.mp4');
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
  });
};
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Data bindings</title>
</head>

<body>
    <div id="root">
        <input type="text" v-model="name">
        <h1>Your name is {{name}} </h1>
    </div>

    <script type="text/javascript" src="vue.js"></script>
    <script type="text/javascript">
        var app = new Vue({
            el: '#root',
            data: { name: "Moana" }
        });
    </script>
</body>

</html>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Environment setup</title>
</head>

<body>
    <div id="root">
        {{message}}
    </div>

    <script type="text/javascript" src="vue.js"></script>
    <script type="text/javascript">
        var app = new Vue({
            el: '#root',  /* element */
            data: { message: "Hello World" }
        });
    </script>
</body>

</html>
package prisoner_student_7_4;

/**
 *
 * @author Almer
 */
public class Prisoner_Student_7_4 {

String name;
    double height;
    int sentence;

    public Prisoner_Student_7_4(String name, double height, int sentence) {
        this.name = name;
        this.height = height;
        this.sentence = sentence;
    }

    // Zero-argument method to print all fields
    public void printInfo() {
        printBasicInfo();
    }

    // Overloaded method with a boolean argument
    public void printInfo(boolean think) {
        printBasicInfo();

        if (think) {
            think();
        }
    }

    // Private method to print basic information
    private void printBasicInfo() {
        System.out.println("Name: " + name);
        System.out.println("Height: " + height);
        System.out.println("Sentence: " + sentence);
    }

    // Method to simulate thinking (placeholder)
    public void think() {
        System.out.println(name + " is thinking...");
    }
}

package prisoner_student_7_4;


public class PrisonTest_Student_7_4 {
  
    public static void main(String[] args){
        
    
       Prisoner_Student_7_4 p01 = new Prisoner_Student_7_4("Bubba", 2.08, 4);

        // Call the first version of the print method
        p01.printInfo();

        // Call the second version of the print method with boolean argument
        p01.printInfo(true);
    }
}
package prisoner_student_7_4;

/**
 *
 * @author Almer
 */
public class Prisoner_Student_7_4 {

String name;
    double height;
    int sentence;

    public Prisoner_Student_7_4(String name, double height, int sentence) {
        this.name = name;
        this.height = height;
        this.sentence = sentence;
    }

    // Zero-argument method to print all fields
    public void printInfo() {
        printBasicInfo();
    }

    // Overloaded method with a boolean argument
    public void printInfo(boolean think) {
        printBasicInfo();

        if (think) {
            think();
        }
    }

    // Private method to print basic information
    private void printBasicInfo() {
        System.out.println("Name: " + name);
        System.out.println("Height: " + height);
        System.out.println("Sentence: " + sentence);
    }

    // Method to simulate thinking (placeholder)
    public void think() {
        System.out.println(name + " is thinking...");
    }
}

package prisoner_student_7_4;


public class PrisonTest_Student_7_4 {
  
    public static void main(String[] args){
        
    
       Prisoner_Student_7_4 p01 = new Prisoner_Student_7_4("Bubba", 2.08, 4);

        // Call the first version of the print method
        p01.printInfo();

        // Call the second version of the print method with boolean argument
        p01.printInfo(true);
    }
}
package prisoner_student_7_4;

/**
 *
 * @author Almer
 */
public class Prisoner_Student_7_4 {
    String name;
    double height;
    int sentence;

    public Prisoner_Student_7_4(String name, double height, int sentence) {
        this.name = name;
        this.height = height;
        this.sentence = sentence;
    }

    // Zero-argument method to print all fields
    public void printInfo() {
        System.out.println("Name: " + name);
        System.out.println("Height: " + height);
        System.out.println("Sentence: " + sentence);
    }

    // Overloaded method with a boolean argument
    public void printInfo(boolean think) {
        printInfo(); // Call the zero-argument version

        if (think) {
            think();
        }
    }
  
    public void think() {
        System.out.println(name + " is thinking...");
    }
}
   
  
  package prisoner_student_7_4;


public class PrisonTest_Student_7_4 {
  
    public static void main(String[] args){
        
    
       Prisoner_Student_7_4 p01 = new Prisoner_Student_7_4("Bubba", 2.08, 4);

        // Call the first version of the print method
        p01.printInfo();

        // Call the second version of the print method with boolean argument
        p01.printInfo(true);
    }
}
<?php
class Elementor_Cate_Slider extends \Elementor\Widget_Base {
	public function get_name() {
		return 'smo_cate_slider';
	}
	public function get_title() {
		return esc_html__( 'Smo Category Slider', 'elementor-addon' );
	}
	public function get_icon() {
		return 'eicon-info-box';
	}
	public function get_categories() {
		return [ 'basic' ];
	}
	public function get_keywords() {
		return [ 'cate_slider' ];
	}
	protected function register_controls() {
	
		$this->start_controls_section(
			'content_section',
			[
				'label' => esc_html__( 'Content', 'smo' ),
				'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
			]
		);
		$this->add_control(
			'list',
			[
				'label' => esc_html__( 'List item', 'smo' ),
				'type' => \Elementor\Controls_Manager::REPEATER,
				'fields' => [
					[
						'name' => 'list_image',
						'label' => esc_html__('Choose Image', 'smo'),
						'type' => \Elementor\Controls_Manager::MEDIA,
						'media_type' => 'image',
						'default' => '',
					],
					[
						'name' => 'list_title',
						'label' => esc_html__('Title', 'smo'),
						'type' => \Elementor\Controls_Manager::TEXT,
						'default' => '',
						'placeholder' => esc_html__('Name', 'smo'),
					],
					[
						'name' => 'list_desc',
						'label' => esc_html__('Description', 'smo'),
						'type' => \Elementor\Controls_Manager::TEXTAREA,
						'default' => '',
						'placeholder' => esc_html__('Description', 'smo'),
					],
					
				],
				'default' => [
					
				],
				'title_field' => '',
			]
		);
		$this->end_controls_section();
	}
	protected function render() {
		$settings = $this->get_settings_for_display();
		if ( is_array($settings['list']) && !empty($settings['list']) ) {
		?>
        <div class="category-mobile">
			<div class="swiper cate_slider"> 
				<div class="swiper-wrapper">
					<?php
					$count = count($settings['list']);
					foreach (  $settings['list'] as $item ) {
					?>
					<div class="swiper-slide box-cate cst-clipath">
						<div class="box-img">
							<img src="<?php echo $item['list_image']['url']; ?>" alt="">
						</div>
						<h3><?php echo $item['list_title'];?></h3>
						<p><?php echo $item['list_desc'];?></p>
					</div>
					<?php
						}
					?>
				</div>
			</div>
		</div>
		<script>
			document.addEventListener('DOMContentLoaded', function() {
				var swiper = new Swiper('.cate_slider', {
					slidesPerView: 1.2,
					spaceBetween: 17,
					breakpoints: {
						961: {
							slidesPerView: 1,
							centeredSlides: true
						}
					},
				});
			});
		</script>
		<?php
		}
	}
}
package prisoner_student_7_4;

/**
 *
 * @author Almer
 */
public class Prisoner_Student_7_4 {
    public String name;
    public double height;
    public int sentence;
    
    //Constructor
    public Prisoner_Student_7_4(String name, double height, int sentence){
 	this.name = name;
 	this.height = height;
 	this.sentence = sentence;
    }
    
    //Methods
    public void think(){
        System.out.println("I'll have my revenge.");
    }
    
    
    
}

package prisoner_student_7_4;


public class PrisonTest_Student_7_4 {
  
    public static void main(String[] args){
        Prisoner_Student_7_4 p01 = new Prisoner_Student_7_4("Bubba", 2.08, 4);
         
     System.out.println("Name: " + p01.name);
        System.out.println("Height: " + p01.height);
        System.out.println("Sentence: " + p01.sentence);
    }
}
7b362aebf04b0ab97365e7cc23297782
<script>
  const hasSeenKey = 'hasSeenChat';
  const expiryKey = 'hasSeenChatExpiry';
  const expiryInHours = 24; // set your desired time limit

  // Check if user has opened the chat before and if data is still valid
  const hasSeenBefore = localStorage.getItem(hasSeenKey);
  const expiryTime = localStorage.getItem(expiryKey);

  const now = Date.now(); // current timestamp in milliseconds
  const expiresAt = expiryTime ? parseInt(expiryTime, 10) : 0;

  // If not seen before or if the current time has passed the stored expiry
  if (!hasSeenBefore || now > expiresAt) {
    // Setup and show the chat
    ktt10.setup({
      id:"5H1KphMy28cG",
      accountId:"1061315",
      color:"#009A42",
      icon:"https://res.cloudinary.com/drt2tlz1j/image/upload/v1733333698/ai_qyquca.svg"
    });

    setTimeout(function() {
      ktt10Btn.click();
      localStorage.setItem(hasSeenKey, 'true');
      localStorage.setItem(expiryKey, (now + expiryInHours * 60 * 60 * 1000).toString());
    }, 3500);
  }
</script>
<script>
  const hasSeenKey = 'hasSeenChat';
  const expiryKey = 'hasSeenChatExpiry';
  const expiryInHours = 24; // set your desired time limit

  // Check if user has opened the chat before and if data is still valid
  const hasSeenBefore = localStorage.getItem(hasSeenKey);
  const expiryTime = localStorage.getItem(expiryKey);

  const now = Date.now(); // current timestamp in milliseconds
  const expiresAt = expiryTime ? parseInt(expiryTime, 10) : 0;

  // If not seen before or if the current time has passed the stored expiry
  if (!hasSeenBefore || now > expiresAt) {
    // Setup and show the chat
    ktt10.setup({
      id:"5H1KphMy28cG",
      accountId:"1061315",
      color:"#009A42",
      icon:"https://res.cloudinary.com/drt2tlz1j/image/upload/v1733333698/ai_qyquca.svg"
    });

    setTimeout(function() {
      ktt10Btn.click();
      localStorage.setItem(hasSeenKey, 'true');
      localStorage.setItem(expiryKey, (now + expiryInHours * 60 * 60 * 1000).toString());
    }, 3500);
  }
</script>
import { useState, useMemo } from 'react';

// Sample product data (since we can't use Redux)
const initialProducts = [
    {
        _id: '1',
        title: 'Smartphone X',
        brand_name: 'TechBrand',
        category: 'Electronics',
        price: 799,
        color: 'Black'
    },
    {
        _id: '2',
        title: 'Laptop Pro',
        brand_name: 'ComputeCo',
        category: 'Computers',
        price: 1299,
        color: 'Silver'
    },
    {
        _id: '3',
        title: 'Wireless Earbuds',
        brand_name: 'AudioTech',
        category: 'Audio',
        price: 199,
        color: 'White'
    },
    {
        _id: '4',
        title: 'Smartwatch Ultra',
        brand_name: 'TechBrand',
        category: 'Wearables',
        price: 349,
        color: 'Blue'
    },
    {
        _id: '5',
        title: 'Tablet Mini',
        brand_name: 'ComputeCo',
        category: 'Tablets',
        price: 499,
        color: 'Rose Gold'
    }
];

const Brand = () => {
    const [selectedCategories, setSelectedCategories] = useState([]);
    const [priceRange, setPriceRange] = useState([0, 1500]);
    const [selectedBrand, setSelectedBrand] = useState('');
    const [selectedColors, setSelectedColors] = useState([]);

    // Derived data
    const categories = [...new Set(initialProducts.map(p => p.category))];
    const brands = [...new Set(initialProducts.map(p => p.brand_name))];
    const colors = [...new Set(initialProducts.map(p => p.color))];

    // Filtering logic
    const filteredProducts = useMemo(() => {
        return initialProducts.filter(product => {
            // Category filter
            const categoryMatch =
                selectedCategories.length === 0 ||
                selectedCategories.includes(product.category);

            // Price range filter
            const priceMatch =
                product.price >= priceRange[0] &&
                product.price <= priceRange[1];

            // Brand filter
            const brandMatch =
                !selectedBrand ||
                product.brand_name === selectedBrand;

            // Color filter
            const colorMatch =
                selectedColors.length === 0 ||
                selectedColors.includes(product.color);

            return categoryMatch && priceMatch && brandMatch && colorMatch;
        });
    }, [selectedCategories, priceRange, selectedBrand, selectedColors]);

    // Category checkbox handler
    const handleCategoryToggle = (category) => {
        setSelectedCategories(prev =>
            prev.includes(category)
                ? prev.filter(c => c !== category)
                : [...prev, category]
        );
    };

    // Color checkbox handler
    const handleColorToggle = (color) => {
        setSelectedColors(prev =>
            prev.includes(color)
                ? prev.filter(c => c !== color)
                : [...prev, color]
        );
    };

    return (
        <div className='mt-36'>
            <div className="grid md:grid-cols-4 gap-6">
                {/* Categories Checkbox Filter */}
                <div className="border p-4 rounded">
                    <h3 className="font-semibold mb-2">Categories</h3>
                    {categories.map(category => (
                        <div key={category} className="flex items-center mb-2">
                            <input
                                type="checkbox"
                                id={category}
                                checked={selectedCategories.includes(category)}
                                onChange={() => handleCategoryToggle(category)}
                                className="mr-2"
                            />
                            <label htmlFor={category}>{category}</label>
                        </div>
                    ))}
                </div>

                {/* Price Range Slider */}
                <div className="border p-4 rounded">
                    <h3 className="font-semibold mb-2">Price Range</h3>
                    <div className="flex items-center space-x-4">
                        <span>${priceRange[0]}</span>
                        <input
                            type="range"
                            min="0"
                            max="1500"
                            color='red'
                            value={priceRange[1]}
                            onChange={(e) => setPriceRange([priceRange[0], Number(e.target.value)])}
                            className="flex-grow"
                        />
                        <span>${priceRange[1]}</span>
                    </div>
                    <div className="mt-2 text-sm text-gray-600">
                        Price: ${priceRange[0]} - ${priceRange[1]}
                    </div>
                </div>

                {/* Brand Select Dropdown */}
                <div className="border p-4 rounded">
                    <h3 className="font-semibold mb-2">Brand</h3>
                    <div className="relative">
                        <select
                            value={selectedBrand}
                            onChange={(e) => setSelectedBrand(e.target.value)}
                            className="w-full appearance-none border rounded p-2 pr-8"
                        >
                            <option value="">All Brands</option>
                            {brands.map(brand => (
                                <option key={brand} value={brand}>{brand}</option>
                            ))}
                        </select>
                    </div>
                </div>

                {/* Color Checkbox Filter */}
                <div className="border p-4 rounded">
                    <h3 className="font-semibold mb-2">Colors</h3>
                    {colors.map(color => (
                        <div key={color} className="flex items-center mb-2">
                            <input
                                type="checkbox"
                                id={color}
                                checked={selectedColors.includes(color)}
                                onChange={() => handleColorToggle(color)}
                                className="mr-2"
                            />
                            <label 
                                htmlFor={color} 
                                className="flex items-center"
                            >
                                <span 
                                    className="w-4 h-4 mr-2 rounded-full inline-block"
                                    style={{ backgroundColor: color.toLowerCase() }}
                                ></span>
                                {color}
                            </label>
                        </div>
                    ))}
                </div>
            </div>

            {/* Filtered Products Display */}
            <div className="mt-6">
                <h3 className="text-xl font-semibold mb-4">
                    Filtered Products ({filteredProducts.length})
                </h3>
                <div className="grid md:grid-cols-3 gap-4">
                    {filteredProducts.map(product => (
                        <div
                            key={product._id}
                            className="border p-4 rounded hover:shadow-md transition"
                        >
                            <h4 className="font-medium">{product.title}</h4>
                            <p className="text-gray-600">{product.brand_name}</p>
                            <div className="flex items-center mt-2">
                                <span 
                                    className="w-4 h-4 mr-2 rounded-full inline-block"
                                    style={{ backgroundColor: product.color.toLowerCase() }}
                                ></span>
                                <span>{product.color}</span>
                            </div>
                            <p className="font-bold">${product.price}</p>
                        </div>
                    ))}
                </div>
            </div>
        </div>
    )
}

export default Brand
#include <iostream>
#include <string>

int countWords(std::string str) {
    int wordCount = 0;
    bool inWord = false;

    for (char ch : str) {
        if (ch != ' ') {  // Если символ не пробел
            if (!inWord) {  // Если мы не находимся в слове
                wordCount++; // Начинаем новое слово
                inWord = true; // Мы теперь внутри слова
            }
        } else {  // Если символ пробел
            inWord = false; // Выходим из слова
        }
    }

    return wordCount; // Возвращаем количество слов
}

int main() {
    std::string input;
    std::cout << "Введите строку: ";
    std::getline(std::cin, input);  // Чтение строки с пробелами

    int wordCount = countWords(input);
    std::cout << "Количество слов в строке: " << wordCount << std::endl;

    return 0;
}
*
  Professional SAS Programming Secrets
  Program 5g
  PCTCHG function
*;
proc fcmp outlib=work.cmp.business_math;
function pctchg(x1, x2);
   if (not x1) or missing(x2) then percent = .;
   else percent = (x2/x1 - 1)*100;
   return (percent);
   endsub;
quit;
#include <iostream>
#include <algorithm> // для функции sort 
#include <string>

bool areanagrams(std::string str1, std::string str2) {

    if (str1.length() != str2.length()) {
        return false;
    }

    std::sort(str1.begin(), str1.end());
    std::sort(str2.begin(), str2.end());

    return str1 == str2;
}

int main() {
    std::string str1, str2;

    // Ввод двух строк
    std::cout << "Введите первую строку: ";
    std::cin >> str1;
    std::cout << "Введите вторую строку: ";
    std::cin >> str2;

    // Проверка на анаграммность
    if (areanagrams(str1, str2)) {
        std::cout << "Строки являются анаграммами." << std::endl;
    } else {
        std::cout << "Строки не являются анаграммами." << std::endl;
    }
    
    return 0;
}
#include <iostream>
#include <cstdlib> // Для функции rand()
#include <ctime>   // Для функции time()

int main() {
    
//part one
    
    std::srand(std::time(nullptr));

    int array[12], sump = 0, countp = 0,sumn = 0, countn = 0;

    for (int i = 0; i < 12; i++) {
        array[i] = -100 + std::rand() %201;
    }

    std::cout << "Array: ";
    for (int i = 0; i < 12; i++) {
        std::cout << array[i] << " ";
    }
    std::cout << std::endl;

    for (int i = 0; i < 12; i++) {
        if (array[i] > 0) {
            sump += array[i];
            countp++;
        } else if (array[i] < 0) {
            sumn += array[i];
            countn++;
        }
    }


    std::cout << "Sum of positive numbers: " << sump << std::endl;
    std::cout << "Number of positive numbers: " << countp << std::endl;
    std::cout << "Сумма отрицательных чисел: " << sumn << std::endl;
    std::cout << "Количество отрицательных чисел: " << countn << std::endl;



//part two


    int posarray[countp], negarray[countn], indpos = 0, indneg = 0;
    
    for (int i = 0; i < 12; i++) {
        if (array[i] > 0) {
            posarray[indpos] = array[i];
            indpos++;
        } else if (array[i] < 0) {
            negarray[indneg] = array[i];
            indneg++;
        }
    }
    
    std::cout << "Positive array: ";
    for (int i = 0; i < countp; i++)
        std::cout << posarray[i] << " ";
    
    std::cout << std::endl;
    
    std::cout << "Negative array: ";
    for (int i = 0; i < countn; i++)
        std::cout << negarray[i] << " ";
    
    std::cout << std::endl;
    
//part three
    
    int matrix[6][6];

    for (int i = 0; i < 6; i++) 
        for (int j = 0; j < 6; j++) 
            matrix[i][j] = std::rand() % 100;

    std::cout << "Matrix :" << std::endl;
    for (int i = 0; i < 6; i++) {
        for (int j = 0; j < 6; j++) 
            std::cout << matrix[i][j] << "\t";
            
        std::cout << std::endl;
    }

    std::cout << "Numbers under main diagonal or on it :" << std::endl;
    for (int i = 0; i < 6; i++) {
        for (int j = 0; j < 6; j++)
            if (i >= j) 
                std::cout << matrix[i][j] << "\t";
                
        std::cout << std::endl;
    }
    
    
    return 0;
}
/*

Theme Name: Divi Child

Theme URI: https://diviextended.com/

Version: 1.0

Description: Child Theme of Divi

Author: Divi Extended

Template: Divi

*/

@import url("../Divi/style.css");
if ( 'excerpt' === $type ) {
			$pcp_post_content       = get_the_excerpt( $post );
			//$pcp_post_excerpt_limit = apply_filters( 'pcp_post_excerpt_limit', 56 );
			//$pcp_post_content       = wp_trim_words( $pcp_post_content, $pcp_post_excerpt_limit, $post_content_ellipsis );
			$pcp_post_content  = $pcp_post_content . $post_content_ellipsis;
		} else {
          
          
Reference: https://share.cleanshot.com/vQxHdd2N
cmds.addAttr('%s_ik_arm_ctrl'%(side),sn='stretch',min=0,max=1,k=1)
#####
def ArmStretchSetup(side):
            cmds.distanceDimension( sp=(0, 0, 0), ep=(1, 1, 1) )
            cmds.rename('locator1','%s_arm_start_setup_dist_loc'%(side))
            cmds.rename('locator2','%s_arm_end_setup_dist_loc'%(side))
            cmds.rename('distanceDimension1','%s_arm_setup_dist'%(side))
            cmds.parentConstraint('%s_arm_01_setup'%(side),'%s_arm_start_setup_dist_loc'%(side),mo = False)
            cmds.parentConstraint('%s_arm_03_setup'%(side),'%s_arm_end_setup_dist_loc'%(side),mo = False)
            cmds.distanceDimension( sp=(0, 0, 0), ep=(1, 1, 1) )
            cmds.rename('locator1','%s_arm_start_dist_loc'%(side))
            cmds.rename('locator2','%s_arm_end_dist_loc'%(side))
            cmds.rename('distanceDimension1','%s_arm_dist'%(side))
            forDel = cmds.parentConstraint('%s_ik_01_jnt'%(side),'%s_arm_start_dist_loc'%(side),mo = False)
            cmds.delete(forDel)
            cmds.parentConstraint('%s_shoulder_ctrl'%(side),'%s_arm_start_dist_loc'%(side),mo = True)
            cmds.parentConstraint('%s_ik_arm_ctrl'%(side),'%s_arm_end_dist_loc'%(side),mo = False)
            
            list = [('multiplyDivide','%s_arm_distance_01_mult'%(side)),('multiplyDivide','%s_arm_distance_02_mult'%(side)),('multiplyDivide','%s_arm_distance_03_mult'%(side)),('multiplyDivide','%s_arm_distance_04_mult'%(side)),('condition','%s_arm_distance_01_cond'%(side)),('condition','%s_arm_distance_02_cond'%(side)),('blendColors','%s_arm_distance_01_bln'%(side)),('multiplyDivide','%s_arm_length_inverse_01_mult'%(side))]
            for each in list:
                cmds.shadingNode(each[0],n=each[1],asUtility=1)
                
            list = [('%s_arm_distance_01_mult.operation'%(side),2),('%s_arm_distance_01_cond.operation'%(side),2),('%s_arm_distance_01_bln.color2R'%(side),1),('%s_arm_distance_01_cond.secondTerm'%(side),1)]
            for each in list:
                cmds.setAttr(each[0],each[1])
            
            list = [('%s_arm_distShape.distance'%(side),'%s_arm_distance_01_mult.input1X'%(side)),('%s_arm_setup_distShape.distance'%(side),'%s_arm_distance_02_mult.input1X'%(side)),('%s_arm_distance_02_mult.outputX'%(side),'%s_arm_distance_01_mult.input2X'%(side)),('%s_arm_distance_01_mult.outputX'%(side),'%s_arm_distance_01_cond.firstTerm'%(side)),('%s_arm_distance_01_mult.outputX'%(side),'%s_arm_distance_01_cond.colorIfTrueR'%(side)),('main_ctrl.scaleX','%s_arm_distance_02_mult.input2X'%(side)),('%s_ik_arm_ctrl.stretch'%(side),'%s_arm_distance_01_bln.blender'%(side)),('%s_arm_distance_01_cond.outColorR'%(side),'%s_arm_distance_01_bln.color1R'%(side)),('%s_arm_02_setup.translateX'%(side),'%s_arm_length_inverse_01_mult.input1X'%(side)),('%s_arm_03_setup.translateX'%(side),'%s_arm_length_inverse_01_mult.input1Y'%(side)),('%s_arm_distance_01_bln.outputR'%(side),'%s_arm_distance_03_mult.input1X'%(side)),('%s_arm_distance_01_bln.outputR'%(side),'%s_arm_distance_03_mult.input1Y'%(side)),('%s_arm_length_inverse_01_mult.outputX'%(side),'%s_arm_distance_03_mult.input2X'%(side)),('%s_arm_length_inverse_01_mult.outputY'%(side),'%s_arm_distance_03_mult.input2Y'%(side)),('%s_arm_distance_03_mult.outputX'%(side),'%s_arm_distance_04_mult.input1X'%(side)),('%s_arm_distance_03_mult.outputY'%(side),'%s_arm_distance_04_mult.input1Y'%(side)),('%s_arm_distance_04_mult.outputX'%(side),'%s_ik_02_jnt.translateX'%(side)),('%s_arm_distance_04_mult.outputY'%(side),'%s_ik_03_jnt.translateX'%(side))]
            for each in list:
                cmds.connectAttr(each[0],each[1])
            
            cmds.group(n='%s_arm_dist_loc_grp'%(side),em=True)
            list = [('%s_arm_start_setup_dist_loc'%(side),'%s_arm_dist_loc_grp'%(side)),('%s_arm_end_setup_dist_loc'%(side),'%s_arm_dist_loc_grp'%(side)),('%s_arm_setup_dist'%(side),'%s_arm_dist_loc_grp'%(side)),('%s_arm_start_dist_loc'%(side),'%s_arm_dist_loc_grp'%(side)),('%s_arm_end_dist_loc'%(side),'%s_arm_dist_loc_grp'%(side)),('%s_arm_dist'%(side),'%s_arm_dist_loc_grp'%(side))]
            for each in list:
                cmds.parent(each[0],each[1])
#######delete lenght jnt grp in arm group and add arm dist grp into extra
def StrechyLegSetup(side):
            cmds.distanceDimension( sp=(0, 0, 0), ep=(1, 1, 1) )
            cmds.rename('locator1','%s_leg_start_setup_dist_loc'%(side))
            cmds.rename('locator2','%s_leg_end_setup_dist_loc'%(side))
            cmds.rename('distanceDimension1','%s_leg_setup_dist'%(side))
            cmds.parentConstraint('%s_leg_01_setup'%(side),'%s_leg_start_setup_dist_loc'%(side),mo = False)
            cmds.parentConstraint('%s_leg_03_setup'%(side),'%s_leg_end_setup_dist_loc'%(side),mo = False)
            cmds.distanceDimension( sp=(0, 0, 0), ep=(1, 1, 1) )
            cmds.rename('locator1','%s_leg_start_dist_loc'%(side))
            cmds.rename('locator2','%s_leg_end_dist_loc'%(side))
            cmds.rename('distanceDimension1','%s_leg_dist'%(side))
            forDel = cmds.parentConstraint('%s_leg_01_setup'%(side),'%s_leg_start_dist_loc'%(side),mo = False)
            cmds.delete(forDel)
            cmds.parentConstraint('spine_01_bln_jnt','%s_leg_start_dist_loc'%(side),mo = True)
            cmds.parentConstraint('%s_ik_leg_ctrl'%(side),'%s_leg_end_dist_loc'%(side),mo = False)
            
            list = [('multiplyDivide','%s_leg_distance_01_mult'%(side)),('multiplyDivide','%s_leg_distance_02_mult'%(side)),('multiplyDivide','%s_leg_distance_03_mult'%(side)),('multiplyDivide','%s_leg_distance_04_mult'%(side)),('condition','%s_leg_distance_01_cond'%(side)),('condition','%s_leg_distance_02_cond'%(side)),('blendColors','%s_leg_distance_01_bln'%(side)),('multiplyDivide','%s_leg_length_inverse_01_mult'%(side))]
            for each in list:
                cmds.shadingNode(each[0],n=each[1],asUtility=1)
                
            list = [('%s_leg_distance_01_mult.operation'%(side),2),('%s_leg_distance_01_cond.operation'%(side),2),('%s_leg_distance_01_bln.color2R'%(side),1),('%s_leg_distance_01_cond.secondTerm'%(side),1)]
            for each in list:
                cmds.setAttr(each[0],each[1])
            
            list = [('%s_leg_distShape.distance'%(side),'%s_leg_distance_01_mult.input1X'%(side)),('%s_leg_setup_distShape.distance'%(side),'%s_leg_distance_02_mult.input1X'%(side)),('%s_leg_distance_02_mult.outputX'%(side),'%s_leg_distance_01_mult.input2X'%(side)),('%s_leg_distance_01_mult.outputX'%(side),'%s_leg_distance_01_cond.firstTerm'%(side)),('%s_leg_distance_01_mult.outputX'%(side),'%s_leg_distance_01_cond.colorIfTrueR'%(side)),('main_ctrl.scaleX','%s_leg_distance_02_mult.input2X'%(side)),('%s_ik_leg_ctrl.stretch'%(side),'%s_leg_distance_01_bln.blender'%(side)),('%s_leg_distance_01_cond.outColorR'%(side),'%s_leg_distance_01_bln.color1R'%(side)),('%s_leg_02_setup.translateX'%(side),'%s_leg_length_inverse_01_mult.input1X'%(side)),('%s_leg_03_setup.translateX'%(side),'%s_leg_length_inverse_01_mult.input1Y'%(side)),('%s_leg_distance_01_bln.outputR'%(side),'%s_leg_distance_03_mult.input1X'%(side)),('%s_leg_distance_01_bln.outputR'%(side),'%s_leg_distance_03_mult.input1Y'%(side)),('%s_leg_length_inverse_01_mult.outputX'%(side),'%s_leg_distance_03_mult.input2X'%(side)),('%s_leg_length_inverse_01_mult.outputY'%(side),'%s_leg_distance_03_mult.input2Y'%(side)),('%s_leg_distance_03_mult.outputX'%(side),'%s_leg_distance_04_mult.input1X'%(side)),('%s_leg_distance_03_mult.outputY'%(side),'%s_leg_distance_04_mult.input1Y'%(side)),('%s_leg_distance_04_mult.outputX'%(side),'%s_ik_leg_02_jnt.translateX'%(side)),('%s_leg_distance_04_mult.outputY'%(side),'%s_ik_leg_03_jnt.translateX'%(side))]
            for each in list:
                cmds.connectAttr(each[0],each[1])
            
            cmds.group(n='%s_leg_dist_loc_grp'%(side),em=True)
            list = [('%s_leg_start_setup_dist_loc'%(side),'%s_leg_dist_loc_grp'%(side)),('%s_leg_end_setup_dist_loc'%(side),'%s_leg_dist_loc_grp'%(side)),('%s_leg_setup_dist'%(side),'%s_leg_dist_loc_grp'%(side)),('%s_leg_start_dist_loc'%(side),'%s_leg_dist_loc_grp'%(side)),('%s_leg_end_dist_loc'%(side),'%s_leg_dist_loc_grp'%(side)),('%s_leg_dist'%(side),'%s_leg_dist_loc_grp'%(side))]
            for each in list:
                cmds.parent(each[0],each[1])

Creating a robust level of user authentication and authorization system is a crucial thing for the pharmacy app. Here, we listed out the way of how to attain it your pharmacy app

1. User Registration and Profile Management
The first step is to implement a straightforward registration process for the app users using email, phone numbers, or social media accounts. Take the necessary information like age, gender, and health-related questions that are used for medical prescriptions. Permit users to manage their personal data, payment information, and medical prescriptions.

2. Multi-Factor Authentication (MFA)
Insist multi-factor authentication to enhance the security login process via SMS codes, email verification, or authenticator apps. That is used to verify the user and prevent unauthorized access. By HIPAA rules and regulations you can comply with your platform with 2FA.

3. Secure Login Mechanisms
Implement a password strength indicator that allows users to reset passwords securely via email or SMS links. Consider incorporating SSO capabilities to enhance the login process across various platforms while upholding security standards.

4. Data Encryption and Compliance
Encrypt your users' health information both in transit and at rest using robust encryption standards (e.g., AES-256). This is essential for compliance with healthcare regulations such as HIPAA. Company rules and regulations with concerned Drug Supply Chain Security Act (DSCSA) and other local regulations.

5. User Access Control
Implement RBAC to define user roles (e.g., customers, pharmacists, admins) and restrict access according to these roles. This ensures that users have access only to the information necessary for their role.

These are the preventional things and ways to protect your platform from unauthorized participants and cyberattacks. If you're looking for the best Pharmacy App Development Solutions then choose Appticz is the best place to accomplish all your business dreams.
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats
import math

######EX1
# def u(n):
#     u0=1/4
#     for i in range(1,n+1):
#         u0=5*u0-1
#         print("u(",i,")","=",u0)

#     return None
# u(100)
# def v(n):
#     v0=1/5
#     for i in range (1,n+1):
#         v0=6*v0-1
#         print("v(",i,")","=",v0)
#     return None
# v(100)
#
# ######EX2.1
# def f(x):
#     return x*math.cos(x)
# def integrale(f,a,b,n):
#     s=0
#     for i in range(1,n+1):
#         s+=((b-a)/n)*f(a+i*((b-a)/n))
#     return s
# print("integrale = ",integrale(f,0,1,10))
# def integrale_precise(f,a,b,n0,precision):
#         n=n0
#         I=integrale(f,a,b,n)

#         while True :
#                 n*=2
#                 I1=integrale(f,a,b,n)
#                 if abs(I-I1)<precision:
#                     break
#                 I=I1
#         return I
# print("integrale_precise =",integrale_precise(f,0,1,10,10**(-4)))


######EX2.2

# x=np.linspace(-4*math.pi,4*math.pi,200)
# y=np.sinc(x)
# fig=plt.figure()
# plt.plot(x,y,label="y",c="r")
# plt.plot(x,y**2,label="y²",c="g")
# plt.title("TTTTTT")
# plt.legend()
# plt.xlabel("x")
# plt.ylabel("y")
# plt.savefig("fig")
# plt.show()

#####EX3
# def habenicht(n,theta):
#     return (1+np.cos(n*theta)+np.sin(n*theta)**2)
# theta=np.linspace(0,2*math.pi,200)
# r3=habenicht(3,theta)
# r5=habenicht(5,theta)
# r7=habenicht(7,theta)
# fig=plt.figure()
# ax=fig.add_subplot(1,1,1,projection="polar")
# plt.plot(theta,r3)
# plt.plot(theta,r5)
# plt.plot(theta,r7)
# plt.show()

######EX4

data = np.loadtxt("anscombe.dat",skiprows=1)
j1,j2,j3,j4=data[:,0:2],data[:,2:4],data[:,4:6],data[:,6:8]
c=0
for i in [j1,j2,j3,j4]:
    c+=1
    print("___JEU.{}____".format(c))
    x1=np.mean(i,axis=1)
    x2=np.std(i,axis=1)
    r=scipy.stats.pearsonr(i[:,0],i[:,1])
    print(f"moyenne: ","x=",f"{x1[0]:.2f}","y=",f"{x1[1]:.2f}")
    print(f"ecart_type : ", "x=", f"{x2[0]:.2f}", "y=", f"{x2[1]:.2f}")
    print(f"Coefficient de corrélation : {r.statistic:.2f}")
    a,b,_,_,_=scipy.stats.linregress(i[:,0],i[:,1])
    print(f"régression linéaire","a=", f"{a:.2f}","b=",f"{b:.2f}")
    
    
fig,axs=plt.subplots(2,2,figsize=(8,8), sharex=True,sharey=True)


for i,j in enumerate([j1,j2,j3,j4]):
    x,y=j.T
    a,b,_,_,_=scipy.stats.linregress(x,y)
    xx=np.array([x.min(),x.max()])
    axs[i//2,i%2].plot(x,y,ls='none',marker='o')
    axs[i//2,i%2].plot(xx,a*xx+b)
    axs[i//2,i%2].set(title="Jeu#{}".format(i+1))
[ax.set(xlabel='x') for ax in axs[1]]
[ax.set(ylabel='y') for ax in axs [:,0]]
fig.tight_layout()
plt.show()
import openpyxl as xl
from openpyxl.chart import BarChart, Reference
from openpyxl.utils import column_index_from_string

def transactie_analyse (filename):
    wb = xl.load_workbook('filename')  
    sheet = wb ['Blad']
    
    for row in range(2, sheet.max_row + 1):
        cell = sheet.cell(row,3)
        corrected_price = cell.value * 0.9
        corrected_price_cell = sheet.cell(row, 4)
        corrected_price_cell.value = corrected_price
    
    values = Reference(sheet,
              min_row=2,
              max_row=sheet.max_row,
              min_col=4,
              max_col=4)
    
    chart = BarChart()
    chart.add_data(values)
    sheet.add_chart(chart,'cel')
    
    wb.save(filename)
078d2553ecd8b15033c110b441d5ae22
ite a recursive function factorial that accepts an integer 
n
 as a parameter and returns the factorial of 
n
, or 



#include <stdio.h>
int factorial(int n)
{
if(n==0 || n==1){
	return 1;
}
	return n*factorial(n-1);  
}
int main()
{
   int T, no;
   scanf("%d",&T);
   while(T--)
   {
     scanf("%d",&no);
     printf("%d\n",factorial(no));
   }
 return 0;
}



















Write a C program to calculate the factorial of small positive integers using non recursive approach



#include <stdio.h>

int main() {
    int N;
    unsigned long long factorial = 1;

    // Read the integer N
  
    scanf("%d", &N);

    // Ensure the input is a non-negative integer
    if (N < 0) {
        printf("Factorial is not defined for negative numbers.\n");
    } else {
        // Calculate factorial using a loop
        for (int i = 1; i <= N; ++i) {
            factorial *= i;
        }

        // Print the result
        printf("%llu",factorial);
    }

    return 0;
}















Write a program to implement a Naive string-matching algorithm




#include <stdio.h>
#include <string.h>
/*



int main()
{	char txt[50], pat[50];
	scanf("%s", txt);
	scanf("%s", pat);
	search(pat, txt);
	return 0;
}
*/


// Function to perform the Naive string-matching algorithm
void search(char pat[], char txt[]) {
    int M = strlen(pat);  // Length of the pattern
    int N = strlen(txt);  // Length of the text

    int found = 0;

    // Slide the pattern over the text one by one
    for (int i = 0; i <= N - M; i++) {
        int j;

        // For current position i, check the pattern matches
        for (j = 0; j < M; j++) {
            if (txt[i + j] != pat[j]) {
                break;
            }
        }

        // If the pattern is found at index i
        if (j == M) {
            printf("Pattern found at index %d\n", i);
            found = 1;
        }
    }

    // If the pattern is not found in the text
    if (!found) {
        printf("Not Found\n");
    }
}

int main() {
    char txt[50], pat[50];

    // Read the text and pattern strings
    scanf("%s", txt);
    scanf("%s", pat);

    // Call the search function
    search(pat, txt);

    return 0;
}















You are developing a program for a digital library to manage its collection of e-books. Each e-book is identified by a unique Book ID. To optimize the process of listing e-books, you need to implement a sorting algorithm that arranges the e-books based on their Book ID's.





#include <stdio.h>
#include <stdlib.h>

// Quicksort partition function
int partition(int arr[], int low, int high) {
    int pivot = arr[high];  // Pivot element
    int i = (low - 1);      // Index of smaller element

    for (int j = low; j <= high - 1; j++) {
        // If current element is smaller than or equal to the pivot
        if (arr[j] <= pivot) {
            i++;    // Increment index of smaller element
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
		}
}
    // Swap the pivot element with the element at index (i+1)
    int temp = arr[i + 1];
    arr[i + 1] = arr[high];
    arr[high] = temp;
    return (i + 1);


}

// Quicksort function
void quickSort(int arr[], int low, int high) {
   if (low < high) {
        // pi is the partitioning index, arr[pi] is now at the right place
        int pi = partition(arr, low, high);

        // Recursively sort elements before partition and after partition
        quickSort(arr, low, pi - 1);
        quickSort(arr, pi + 1, high);
    }
}

// Function to print an array
void printArray(int arr[], int n) {
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
}

int main() {
    int n;
    printf("no of e-books: ");
    scanf("%d", &n);
    
    int BID[n];
    printf("Book ID's of e-books: ");
    for (int i = 0; i < n; i++) {
        scanf("%d", &BID[i]);
    }

    printf("Original Book ID's: ");
    printArray(BID, n);
    printf("\n");

    // Sort the e-books based on their BIDs using quicksort
    quickSort(BID, 0, n - 1);

    printf("Sorted Book ID's: ");
    printArray(BID, n);
    printf("\n");

    return 0;
}












You are given weights and values of N items, put these items in a knapsack of capacity W to get the maximum total value in the knapsack. Note that we have only one quantity of each item.



#include <stdio.h>

// Function to return the maximum of two integers
int max(int a, int b) {
    return (a > b) ? a : b;
}

// Function to solve the 0-1 Knapsack problem
int knapsack(int W, int wt[], int val[], int N) {
    int dp[N+1][W+1];

    // Building the DP table
    for (int i = 0; i <= N; i++) {
        for (int w = 0; w <= W; w++) {
            if (i == 0 || w == 0) {
                dp[i][w] = 0;
            } else if (wt[i-1] <= w) {
                dp[i][w] = max(val[i-1] + dp[i-1][w-wt[i-1]], dp[i-1][w]);
            } else {
                dp[i][w] = dp[i-1][w];
            }
        }
    }

    // The maximum value that can be achieved with the given constraints
    return dp[N][W];
}

int main() {
    int N, W;

    // Read the number of items
    scanf("%d", &N);

    // Read the knapsack capacity
    scanf("%d", &W);

    int val[N], wt[N];

    // Read the values of the items
    for (int i = 0; i < N; i++) {
        scanf("%d", &val[i]);
    }

    // Read the weights of the items
    for (int i = 0; i < N; i++) {
        scanf("%d", &wt[i]);
    }

    // Calculate the maximum value that can be achieved
    int maxValue = knapsack(W, wt, val, N);

    // Print the result
    printf("%d\n", maxValue);

    return 0;
}










1.1.6. Dijkstra’s Shortest Path Algorithm


You're a transportation engineer at a city planning department tasked with optimizing public transportation routes for a growing urban population. Your team is exploring graph-based algorithms to find the shortest routes between key locations in the city. Your manager, Alex, provides the context:

As our city's population continues to grow, it's crucial to optimize our public transportation routes to ensure efficient and reliable travel for residents. One approach is to model our transportation network as a graph, where each vertex represents a key location in the city, and edges represent the transportation connections between locations. We need to find the shortest routes between a source vertex, such as a major transit hub, and each vertex in the graph to improve commuter accessibility and reduce travel times.




#include <stdio.h>
	for (int i = 0; i < V; i++) {
		dist[i] = INT_MAX;
		visited[i] = 0;
	}
	dist[src] = 0;
	for (int count = 0; count < V - 1; count++) {
		int u = minDistance(dist, visited, V);
		visited[u] = 1;


			for (int v = 0; v < V; v++) {

				if (!visited[v] && graph[u][v] && dist[u] != INT_MAX && dist[u] + graph[u][v] < dist[v]) {

					dist[v] = dist[u]+ graph[u][v];

				}

			}
	}
printDistances(dist, V);
}
int main() {

	int V;

	printf("");
	scanf("%d", &V);

	if (V > MAX_VERTICES) {

		printf("The number of vertices exceeds the maximum allowed limit (%d).\n", MAX_VERTICES);

			return 1;

	}


	int graph[MAX_VERTICES] [MAX_VERTICES];

	printf("");

	for (int i = 0; i< V; i++) {

		for (int j = 0; j < V; j++) {

			scanf("%d", &graph [i][j]);

		}

	}

	int src = 0;

	dijkstra(graph, src, V);

	return 0;

}












1.1.7. Huffman Encoding
09:42





Given a string S of distinct character of size N and their corresponding frequency f[] i.e. character S[i] has f[i] frequency. Your task is to build the Huffman tree and print all the Huffman codes in the preorder traversal of the tree.



Note: While merging if two nodes have the same value, then the node that occurs at first will be taken on the left of Binary Tree and the other one to the right, otherwise Node with less value will be taken to the left of the subtree and other one to the right.






#include <stdio.h>

// Build the Huffman Tree
struct Node* buildHuffmanTree(char* S, int* freq, int n) {
    struct Node* left, *right, *top;

    struct Node** heapArray = (struct Node**)malloc(n * sizeof(struct Node*));
    int heapSize = 0;

    // Step 1: Build a min heap
    for (int i = 0; i < n; ++i)
        heapArray[i] = createNode(S[i], freq[i]);

    heapSize = n;
    for (int i = (heapSize - 1) / 2; i >= 0; i--)
        heapify(heapArray, heapSize, i);

    // Step 2: Extract two minimum nodes and merge them until heap contains only one node
    while (heapSize > 1) {
        left = extractMin(heapArray, &heapSize);
        right = extractMin(heapArray, &heapSize);

        top = createNode('#', left->freq + right->freq);
        top->left = left;
        top->right = right;

        insertHeap(heapArray, &heapSize, top);
    }

    return extractMin(heapArray, &heapSize);
}

// Function to print the Huffman codes using preorder traversal
void printCodes(struct Node* root, int arr[], int top) {
    if (root->left) {
        arr[top] = 0;
        printCodes(root->left, arr, top + 1);
    }

    if (root->right) {
        arr[top] = 1;
        printCodes(root->right, arr, top + 1);
    }

    if (!root->left && !root->right) {
        for (int i = 0; i < top; i++)
            printf("%d", arr[i]);
        printf(" ");
    }
}

int main() {
    char S[27];
    int freq[26], n;

    // Input the string and frequency array
    scanf("%s", S);
    n = strlen(S);
    for (int i = 0; i < n; i++)
        scanf("%d", &freq[i]);

    // Build Huffman Tree
    struct Node* root = buildHuffmanTree(S, freq, n);

    // Print Huffman codes in preorder traversal
    int arr[100], top = 0;
    printCodes(root, arr, top);
    printf("\n");

    return 0;
}

















N-Queens using Backtracking:



You're a software developer at a chess club you have been tasked to design and implement an algorithm to solve the N-Queens problem using backtracking, providing a step-by-step explanation of how the algorithm works and how it ensures that no queens attack each other on the chessboard.




#include <stdio.h>

// Function to print the board
void printBoard(int board[], int N) {
    solutionCount++;
    printf("Solution #%d:\n", solutionCount);
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            if (board[i] == j) {
						printf("Q	");		                
            } else {
					printf("*	");	                
            }
        }
        printf("\n");
    }
    
}

// Function to check if a queen can be placed on the board at row 'row' and column 'col'
bool isSafe(int board[], int row, int col, int N) {
    for (int i = 0; i < row; i++) {
        // Check the same column and the two diagonals
        if (board[i] == col || (board[i] - i == col - row) || (board[i] + i == col + row)) {
            return false;
        }
    }
    return true;
}

// Backtracking function to solve the N-Queens problem
int solveNQueens(int board[], int N, int row) {
    if (row == N) {
        printBoard(board, N);  // Print the solution
        return 1;  // A solution is found
    }

    int solutions = 0;
    for (int col = 0; col < N; col++) {
        if (isSafe(board, row, col, N)) {
            board[row] = col;  // Place the queen
            solutions += solveNQueens(board, N, row + 1);  // Recur to place the next queen
            board[row] = -1;  // Backtrack
        }
    }

    return solutions;  // Return the total number of solutions found
}

int main() {
    int N;
   
    scanf("%d", &N);

    if (N < 1 || N > MAX) {
        printf("N must be between 1 and 6.\n");
        return 1;
    }

    int board[N];
    for (int i = 0; i < N; i++) {
        board[i] = -1;  // Initialize the board with -1 indicating no queen placed in that row
    }

    int totalSolutions = solveNQueens(board, N, 0);  // Start solving from the first row
    printf("Total solutions:%d\n", totalSolutions);

    return 0;
}












1.1.9. Job assignment
41:10





Let there be N workers and N jobs. Any worker can be assigned to perform any job, incurring some cost that may vary depending on the work-job assignment. It is required to perform all jobs by assigning exactly one worker to each job and exactly one job to each agent in such a way that the total cost of the assignment is minimized.




#include <stdio.h>

	// write the code..
int* assignedJobs=(int*)malloc(N * sizeof(int));
	int* jobAssigned=(int*)calloc(N, sizeof(int));
	int minCost=INT_MAX;
	int* optimalAssignment=(int*)malloc(N* sizeof(int));
	minCost=findMinCostRec(costMatrix, N, assignedJobs, 0, jobAssigned, 0, minCost, optimalAssignment);
	for(int i=0;i<N;i++){
		printf("Worker %c - Job %d\n", 'A' + i, optimalAssignment[i]);
	}
	free(assignedJobs);
	free(jobAssigned);
	free(optimalAssignment);
	return minCost;
}
int findMinCostRec(int** costMatrix, int N,int* assignedJobs, int level,int* jobAssigned, int currentCost,int minCost, int* optimalAssignment) {
	if(level==N){
		if(currentCost < minCost){
			minCost = currentCost;
			for(int i=0;i<N;i++){
				optimalAssignment[i]=assignedJobs[i];
			}
		}
		return minCost;
	}
	for(int job=0;job<N;job++){
		if(!jobAssigned[job]){
			jobAssigned[job]=1;
			assignedJobs[level]=job;
			int newCost=currentCost+costMatrix[level][job];
				if(newCost < minCost){
					minCost=findMinCostRec(costMatrix, N, assignedJobs,level+1,jobAssigned, newCost, minCost,optimalAssignment);
				}
			jobAssigned[job]=0;
		}
	}
	return minCost;
}
// Driver code
int main() {
    int N;
    scanf("%d", &N);

    int** costMatrix = (int**)malloc(N * sizeof(int*));
    for (int i = 0; i < N; i++) {
        costMatrix[i] = (int*)malloc(N * sizeof(int));
    }

    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N; j++) {
            scanf("%d", &costMatrix[i][j]);
        }
    }

    printf("Optimal Cost:%d\n", findMinCost(costMatrix, N));

    // Free dynamically allocated memory
    for (int i = 0; i < N; i++) {
        free(costMatrix[i]);
    }
    free(costMatrix);

    return 0;
}















1.1.10. Travelling Salesman Problem
04:49





Given a set of cities and the distance between every pair of cities, the problem is to find the shortest possible route that visits every city exactly once and returns to the starting point.





#include <stdio.h>
        }
        totalCost += costMatrix[fromCity][toCity];
    }

    // Add the cost of returning to the start city
    if (costMatrix[tour[n - 1]][tour[0]] == -1) { // No direct connection
        return INF;
    }
    totalCost += costMatrix[tour[n - 1]][tour[0]];
    return totalCost;
}

// Function to generate permutations and solve TSP
void solveTSP(int n, int costMatrix[][100]) {
    int cities[100];
    for (int i = 0; i < n; i++) {
        cities[i] = i;
    }

    int minCost = INF;
    
    // Generate all permutations using next_permutation-like logic
    do {
        int currentCost = calculateTourCost(costMatrix, cities, n);
        if (currentCost < minCost) {
            minCost = currentCost;
        }
        
        // Generate the next permutation
        int i = n - 1;
        while (i > 0 && cities[i - 1] >= cities[i]) i--;
        if (i == 0) break;

        int j = n - 1;
        while (cities[j] <= cities[i - 1]) j--;

        int temp = cities[i - 1];
        cities[i - 1] = cities[j];
        cities[j] = temp;

        for (int k = i, l = n - 1; k < l; k++, l--) {
            temp = cities[k];
            cities[k] = cities[l];
            cities[l] = temp;
        }

    } while (true);

    printf("%d\n", minCost);
}

int main() {
    int n;
    scanf("%d", &n);

    int costMatrix[100][100];

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            scanf("%d", &costMatrix[i][j]);
        }
    }
    solveTSP(n, costMatrix);

    return 0;
}


















1.1.11. Graph Colouring
05:13





Given an undirected graph G with n vertices and e edges, the goal is to assign colors to the vertices such that no two adjacent vertices (vertices connected by an edge) have the same color, using the minimum number of colors possible.



#include <stdio.h>
                available[result[adj]] = true;
            }
        }

        // Find the first available color
        int color = 0;
        while (color < n && available[color]) {
            color++;
        }

        // Assign the found color to the vertex u
        result[u] = color;

        // Reset the availability of colors for the next iteration
        for (int i = 0; i < degrees[u]; i++) {
            int adj = edges[u][i];
            if (result[adj] != -1) {
                available[result[adj]] = false;
            }
        }
    }

    // The chromatic number is the maximum color used + 1
    int chromatic_number = 0;
    for (int i = 0; i < n; i++) {
        if (result[i] > chromatic_number) {
            chromatic_number = result[i];
        }
    }

    return chromatic_number + 1;
}
int main() {
    // Input number of vertices and edges
    int n, e;
    
    scanf("%d", &n);
    
    scanf("%d", &e);

    // Create an adjacency list for the graph
    int* degrees = (int*)malloc(n * sizeof(int));
    int** edges = (int**)malloc(n * sizeof(int*));
    for (int i = 0; i < n; i++) {
        degrees[i] = 0;
        edges[i] = (int*)malloc(n * sizeof(int));  // Maximum possible degree is n-1
    }

    // Input the edges
    int u, v;
    for (int i = 0; i < e; i++) {
        scanf("%d %d", &u, &v);
        edges[u][degrees[u]++] = v;
        edges[v][degrees[v]++] = u;
    }

    // Get the chromatic number using the greedy coloring method
    int chromatic_number = greedy_coloring(n, edges, degrees);

    // Output the result
    printf("%d\n", chromatic_number);

    // Free dynamically allocated memory
    for (int i = 0; i < n; i++) {
        free(edges[i]);
    }
    free(edges);
    free(degrees);

    return 0;
}













 [FormControlEventHandler(formControlStr(HRMRecruitingTable, HRMRecruitingTable_Position), FormControlEventType::Lookup)]
    public static void HRMRecruitingTable_Position_OnLookup(FormControl sender, FormControlEventArgs e)
    {
        HRMRecruitingTable HRMRecruitingTable = sender.formRun().dataSource(1).cursor();
        HRMRecruitingTable  HRMRecruitingTableCheck;
        HcmPosition HcmPosition;
        HcmPositionDetail   HcmPositionDetail;
        Query query = new Query();
        QueryBuildDataSource qbds;
        str             Recids;
        HcmPositionWorkerAssignment HcmPositionWorkerAssignment;

        while select HcmPosition
            join HcmPositionDetail
            where HcmPositionDetail.Position == HcmPosition.Recid
                //&& HcmPositionDetail.Job == HRMRecruitingTable.Job
                && HcmPositionDetail.Department == HRMRecruitingTable.Department
        {
            HRMRecruitingTableCheck.clear();
            select HRMRecruitingTableCheck
                    where HRMRecruitingTableCheck.Position == HcmPosition.PositionId;
            if(!HRMRecruitingTableCheck)
            {
                HcmPositionWorkerAssignment.Clear();
                select HcmPositionWorkerAssignment
                        where HcmPositionWorkerAssignment.Position == HcmPosition.Recid;
                        //&& HcmPositionWorkerAssignment.Worker == 0;

                if(!HcmPositionWorkerAssignment)
                    //&& HcmPositionWorkerAssignment.Validto > DateTimeUtil::getSystemDateTime())
                            Recids = queryRangeConcat(Recids , queryValue(HcmPosition.Recid));
                //if(!HcmPositionWorkerAssignment
                //        || HcmPositionWorkerAssignment.Validto > DateTimeUtil::getSystemDateTime())
                //            Recids = queryRangeConcat(Recids , queryValue(HcmPosition.Recid));
            }
        }
        SysTableLookup _sysTableLookup = SysTableLookup::newParameters(tableNum(HcmPosition),sender);

        qbds= query.addDataSource(tableNum(HcmPosition));

        if(Recids)
            qbds.addRange(fieldNum(HcmPosition,Recid)).value(Recids);
        else
            qbds.addRange(fieldNum(HcmPosition,Recid)).value(int2Str(0));

        _sysTableLookup.parmQuery(query);
        _sysTableLookup.addLookupfield(fieldNum(HcmPosition,PositionID),true);
        _sysTableLookup.addLookupMethod(tableMethodStr(HcmPosition, description));

        _sysTableLookup.performFormLookup();
    }
    
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Shot : MonoBehaviour
{
    public float LaunchForce = 5f; // قدرت شلیک اولیه
    public float MinLaunchForce = 2f; // حداقل قدرت شلیک
    public float MaxLaunchForce = 20f; // حداکثر قدرت شلیک
    public float ScrollSensitivity = 1f; // حساسیت اسکرول موس
    public GameObject Arrow; // تیر
    public Transform ArrowSpawnPoint; // نقطه شروع تیر (ترانسفرم)


    public GameObject SimpleArrow;
    private GameObject currentArrow;
    void Update()
    {
        // تغییر قدرت شلیک با اسکرول موس
        AdjustLaunchForceWithMouseScroll();



        if (Input.GetKeyDown(KeyCode.Q))
        {
            currentArrow = SimpleArrow;

            Debug.Log("Switched to Simple Arrow");
        }
        // شلیک با دکمه Space
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Shoot();
        }
    }

    void AdjustLaunchForceWithMouseScroll()
    {
        // خواندن مقدار اسکرول موس
        float scroll = Input.GetAxis("Mouse ScrollWheel");

        // تغییر قدرت شلیک بر اساس اسکرول
        LaunchForce += scroll * ScrollSensitivity;

        // محدود کردن قدرت شلیک بین حداقل و حداکثر
        LaunchForce = Mathf.Clamp(LaunchForce, MinLaunchForce, MaxLaunchForce);

        // نمایش مقدار قدرت شلیک در کنسول (اختیاری)
       // Debug.Log("Current Launch Force: " + LaunchForce);
    }

    void Shoot()
    {
        // ایجاد یک نمونه از تیر
        GameObject ArrowIns = Instantiate(Arrow, ArrowSpawnPoint.position, ArrowSpawnPoint.rotation);

        Rigidbody2D rb = ArrowIns.GetComponent<Rigidbody2D>();
        if (rb != null)
        {
            rb.isKinematic = false;
            rb.AddForce(ArrowSpawnPoint.right * LaunchForce, ForceMode2D.Impulse);
        }
    }
}
version: '3.8'
services:
  ollama:
    volumes:
      - ollama:/root/.ollama
    container_name: ollama
    pull_policy: always
    tty: true
    restart: unless-stopped
    image: ollama/ollama:${OLLAMA_DOCKER_TAG-latest}

  open-webui:
    image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
    container_name: open-webui
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama
    environment:
      - 'OLLAMA_BASE_URL=http://ollama:11434'
      - 'WEBUI_SECRET_KEY='
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped

  nginx-proxy-manager:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - open-webui

volumes:
  ollama: {}
  open-webui: {}
I want to implement the login with google inside my streamlit app. The user should see directly the screen to select their google account even before being able to see the main screen app. Here is an example of implementation you can use.

import asyncio
from typing import Optional
import jwt
import streamlit as st
from httpx_oauth.clients.google import GoogleOAuth2
import os

client_id = os.environ['CLIENT_ID']
client_secret = os.environ['CLIENT_SECRET']
redirect_url = os.environ['REDIRECT_URL']

client = GoogleOAuth2(client_id=client_id, client_secret=client_secret)

def decode_user(token: str):
    decoded_data = jwt.decode(jwt=token, options={"verify_signature": False})
    return decoded_data

async def get_authorization_url(client: GoogleOAuth2, redirect_url: str) -> str:
    authorization_url = await client.get_authorization_url(
        redirect_url,
        scope=["email"],
        extras_params={"access_type": "offline"},
    )
    return authorization_url

def show_login_button(text: Optional[str] = "Login with Google", sidebar: bool = True):
    button_location = st.sidebar if sidebar else st
    authorization_url = asyncio.run(get_authorization_url(client=client, redirect_url=redirect_url))
    if button_location.button(text, key="google_login", type="primary"):
        st.markdown(f'<meta http-equiv="refresh" content="0;url={authorization_url}">', unsafe_allow_html=True)

async def get_access_token(client: GoogleOAuth2, redirect_url: str, code: str):
    token = await client.get_access_token(code, redirect_url)
    return token

def get_access_token_from_query_params(client: GoogleOAuth2, redirect_url: str):
    if 'code' in st.query_params:
        code = st.query_params['code']
        token = asyncio.run(get_access_token(client=client, redirect_url=redirect_url, code=code))
        # Clear the query parameters
        st.query_params.clear()
        return token
    return None

def get_logged_in_user_email() -> Optional[str]:
    if "email" in st.session_state:
        return st.session_state.email

    token = get_access_token_from_query_params(client, redirect_url)
    if token:
        user_info = decode_user(token=token["id_token"])
        st.session_state["email"] = user_info["email"]
        return user_info["email"]

    return None
#@title Python setup {form-width: "20%"}
from colabtools import f1, dremel, adhoc_import
from typing import Any, Text
from IPython.display import display

import numpy as np
import os
import pandas as pd
import warnings
import altair as alt
import matplotlib.pyplot as plt
import seaborn as sns
alt.data_transformers.enable('default', max_rows=None)
from tqdm import tqdm
from google3.pyglib import gfile
from google3.research.colab.lib import tabbar
from google3.analysis.common.pandas import capacitor
fix_ipython.set_message_size_limit(1e14) # 200 MB
from colabtools import interactive_table
interactive_table.DEFAULT_MAX_COLUMNS = 200
interactive_table.DEFAULT_MAX_ROWS = 530000
dremel.SetMinCompletionRatio(1.0)
dremel.SetLanguage('GoogleSQL')
dremel.SetAccountingGroup('ads-search-conversion-modeling')
dremel.SetMaterializeOwnerGroup('ads-search-conversion-modeling');
dremel.SetMaterializeOverwrite(1);
import plotnine as p9
pd.options.display.float_format = '{:,.2f}'.format
alt.data_transformers.enable('default', max_rows=None)
from google.colab.data_table import DataTable
DataTable.max_columns = 50
<div class="gr-input">[text first-name placeholder "First Name"][text last-name placeholder "Last Name"]</div>
<div class="gr-input">[email* your-email placeholder "E-mail"][text your-phone placeholder "Phone Number"]</div>
<div class="select-form">[select select-169 "Tattoo" "Piercing" "Mineral Art" "Gioielleria"]</div>
<div class="gr-textarea">[textarea your-message]</div>
<div class="gr-check">[radio option "Privacy|1" "Marketing Consent|2"]</div>
[submit "Submit"]
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":island-love: Boost Days - What's on this week! :island-love:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Happy Monday! \n\nLet's kick off another great week with our Boost Program :zap: See below for what's coming up! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-21: Tuesday, 21st January",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Xero Café*: Café-style beverages and sweet treats\n:raspberry: *Barista Special*: Raspberry White Chocolate \n:fried_egg: *Breakfast*: Provided by *Simply Food* from *8:00am - 10:30am* on Level 3 \n:xero-boxing: *Boxing*: Xero led Boxing Sessions from 12pm in the XO Gym! "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-23: Thursday, 23rd January",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café*: Café-style beverages and sweet treats \n:raspberry: *Barista Special*: Raspberry White Chocolate \n :green_salad: *Light Lunch*: Served up by our friends from *NOSH* on Level 3 from *12:00PM* \n:xero-boxing: *Boxing*: Xero led Boxing Sessions at 5pm in the XO Gym!"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "What else? \n\n :xero: *January Global All Hands*: Wednesday 22nd 10:00am-11:00am streamed in the Level 3 All Hands \n\n \nStay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y180Y2UwNGEwNjY2YjI5NDNlZmEwZGM4YWI5MTdjMTcyNDE2NzVhZmQ5MTllN2EwZjg5NTg5OTVkMTA2MDAzZmEwQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20|*Wellington Social Calendar.*>\n\nLove,\nWX :wx:"
			}
		}
	]
}
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":fireworks: Boost Days - What's on this week! :fireworks:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Happy Monday Wellingtonians! \n\nLet's kick off another great week with our Boost Program :zap: See below for what's coming up! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-14: Tuesday, 14th January",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Xero Café*: Café-style beverages and sweet treats\n:chocolatecake: *Barista Special*: Protein Mocha \n:fried_egg: *Breakfast*: Provided by *Simply Food* from *8:00am - 10:30am* on Level 3 \n:xero-boxing: *Boxing*: Xero led Boxing Sessions from 12pm in the XO Gym! "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-16: Thursday, 16th January",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café*: Café-style beverages and sweet treats \n:chocolatecake: *Barista Special*: Protein Mocha \n :green_salad: *Light Lunch*: Served up by our friends from *NOSH* on Level 3 from *12:00PM* \n:beers: *Social Happy Hour*: Celebrate the week with a few light nibbles and a drink! *Level 3* at *4:00pm-5:30pm*"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y180Y2UwNGEwNjY2YjI5NDNlZmEwZGM4YWI5MTdjMTcyNDE2NzVhZmQ5MTllN2EwZjg5NTg5OTVkMTA2MDAzZmEwQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20|*Wellington Social Calendar.*>\n\nLove,\nWX :wx:"
			}
		}
	]
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":mirror_ball: Boost Days - What's on this week! :mirror_ball:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Happy New Year Wellington - we've missed you! \n\nLet's kick off the new year with our Boost Program :zap: See below for what's coming up! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-7: Tuesday, 7th January",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Xero Café*: Café-style beverages and sweet treats\n:matcha-latte: *Barista Special*: White Chocolate Matcha \n:fried_egg: *Breakfast*: Provided by *Simply Food* from *8:00am - 10:30am* on Level 3 \n:xero-boxing: *Boxing*: Xero led Boxing Sessions from 12pm in the XO Gym! "
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-9: Thursday, 9th January",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café*: Café-style beverages and sweet treats \n:matcha-latte: *Barista Special*: White Chocolate Matcha \n :green_salad: *Light Lunch*: Served up by our friends from *NOSH* on Level 3 from *12:00PM* \n:xero-boxing: *Boxing*: Xero led Boxing Sessions at 5pm in the XO Gym!"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=Y180Y2UwNGEwNjY2YjI5NDNlZmEwZGM4YWI5MTdjMTcyNDE2NzVhZmQ5MTllN2EwZjg5NTg5OTVkMTA2MDAzZmEwQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20|*Wellington Social Calendar.*>  \n\nLove,\nWX :wx:"
			}
		}
	]
}
gcloud iam service-accounts create githubactions \                                                              
    --description="service acct for github actions" \                     
    --display-name="Github Actions"
SELECT 
SubscriberKey, Consent_Level_Summary__c, Cat_Campaign_Most_Recent__c , CreatedDate, PrivacyConsentStatus, HasOptedOutOfEmail, AMC_Status__c, AMC_Last_Activity_Record_ID__c


FROM (

SELECT 
DISTINCT c.Id AS SubscriberKey, c.Consent_Level_Summary__c, i.Cat_Campaign_Most_Recent__c, i.CreatedDate, cpc.PrivacyConsentStatus, c.HasOptedOutOfEmail, c.AMC_Status__c, c.AMC_Last_Activity_Record_ID__c,

ROW_NUMBER() OVER(PARTITION BY c.ID ORDER BY i.LastModifiedDate DESC) as RowNum


FROM ent.Interaction__c_Salesforce i 

JOIN ent.Contact_Salesforce_1 c ON c.Email = i.Email__c
JOIN ep_w200041_specsizernurture_new_registrants sent ON c.Email = sent.EmailAddress
INNER JOIN ent.ContactPointConsent_Salesforce AS cpc ON c.Id = cpc.Contact__c
INNER JOIN ent.DataUsePurpose_Salesforce AS dup ON cpc.DataUsePurposeId = dup.Id
LEFT JOIN ent.[Hard Bounces - Exclusion] hb ON c.ID=hb.subscriberkey

WHERE 
hb.SubscriberKey is null 
AND sent.EmailAddress is not null
AND
(i.Contact_Source_Details_Most_Recent__c = 'Electric Power/specsizer.cat.com/Form Repost' AND
i.Cat_Campaign_Most_Recent__c = 'SpecSizer New Registrant')
    AND Email__c IS NOT NULL
    AND (i.Mailing_State_Province__c != 'QC' OR (i.Mailing_Country__c != 'CA' AND i.Mailing_State_Province__c IS NULL))
    AND  (i.System_Language__c like 'en_%' OR (i.Mailing_Country__c != 'CA' AND i.System_Language__c is null))
    AND Email__c NOT LIKE '%cat.com'
    AND cpc.CaptureContactPointType = 'Email'
    AND cpc.MATM_Owner__c = 'Caterpillar'
    AND dup.Name = 'Caterpillar Marketing'
    AND cpc.PrivacyConsentStatus = 'OptIn' 
    AND (cpc.EffectiveTo IS NULL OR cpc.EffectiveTo < GetDate())
    AND (i.CreatedDate >= '01-01-2024' AND i.CreatedDate <= '08-31-2024')
        )t2

WHERE RowNum = 1
import React, { useEffect } from 'react';
import {
  useRecoilState, useRecoilValue, useResetRecoilState, useSetRecoilState,
} from 'recoil';
import _ from 'lodash';
import { KEY_RECOIL } from '../../../../ConstantsV2/aiConstants';
import { DEVICE_TAB_TYPES } from '../StripsManagementV2/constants';
import {
  activeTabState,
  controlModalState,
  isActiveTabState,
  pickDateActionState,
  pickedBookmarkDateState,
  pickedEndDateState,
  pickedStartDateState,
  selectedStripState,
} from '../Recoil';
import { TPickDateAction } from '../Recoil/model';
import { controlHrSummaryModalState } from './recoilBeat';
import { deviceEventDataState, emptySelectedKeyState, eventStripsDataState } from './recoilStrips';

// Custom hook to handle date pick actions
const usePickDateAction = (keyRecoil, pickedStartDate, pickedEndDate, pickedBookmarkDate) => {
  const setPickDateAction = useSetRecoilState(pickDateActionState(keyRecoil));

  useEffect(() => {
    if (pickedStartDate && !pickedEndDate) {
      setPickDateAction(TPickDateAction.END);
    } else if (pickedStartDate && pickedEndDate) {
      setPickDateAction(TPickDateAction.NONE);
    } else if (!pickedStartDate && pickedEndDate) {
      setPickDateAction(TPickDateAction.NONE);
    }
  }, [pickedStartDate, pickedEndDate]);

  useEffect(() => {
    if (pickedBookmarkDate) {
      setPickDateAction(TPickDateAction.NONE);
    }
  }, [pickedBookmarkDate]);

  return setPickDateAction;
};

// Custom hook to handle modal reset when changing tab or strip
const useModalReset = (selectedStrip, controlModal, resetControlModal, resetControlHrSummaryModal, isActiveTab) => {
  useEffect(() => {
    if (!controlModal.isShowNewEvents && !controlModal.isShowAddNewEvent) {
      resetControlModal();
    }
  }, [selectedStrip]);

  useEffect(() => {
    if (!isActiveTab) {
      resetControlModal();
      resetControlHrSummaryModal();
    }
  }, [isActiveTab]);
};

// Base component to render the correct tab
const TabUIEffect = ({ keyRecoil, tab }) => {
  switch (tab) {
    case '1':
      return <TabBeatUIEffect keyRecoil={keyRecoil} />;
    case '2':
      return <TabECGEventUIEffect keyRecoil={keyRecoil} />;
    case '3':
      return <TabStripManagermentUIEffect keyRecoil={keyRecoil} />;
    case '4':
      return <TabTeamplatesUIEffect keyRecoil={keyRecoil} />;
    case '5':
      return <TabHRSummaryUIEffect keyRecoil={keyRecoil} />;
    default:
      return null;
  }
};

// TabBeatUIEffect component
const TabBeatUIEffect = ({ keyRecoil }) => {
  const [pickedStartDate, setPickedStartDate] = useRecoilState(pickedStartDateState(keyRecoil));
  const [pickedEndDate, setPickedEndDate] = useRecoilState(pickedEndDateState(keyRecoil));
  const [pickedBookmarkDate, setPickedBookmarkDate] = useRecoilState(pickedBookmarkDateState(keyRecoil));
  const controlModal = useRecoilValue(controlModalState(keyRecoil));
  const resetControlModal = useResetRecoilState(controlModalState(keyRecoil));
  const resetControlHrSummaryModal = useResetRecoilState(controlHrSummaryModalState);
  const selectedStrip = useRecoilValue(selectedStripState(keyRecoil));
  const isActiveTab = useRecoilValue(isActiveTabState(keyRecoil));

  // Handle pick date action updates
  const setPickDateAction = usePickDateAction(keyRecoil, pickedStartDate, pickedEndDate, pickedBookmarkDate);

  // Reset modal when strip or tab changes
  useModalReset(selectedStrip, controlModal, resetControlModal, resetControlHrSummaryModal, isActiveTab);

  useEffect(() => {
    if (Object.keys(controlModal).length > 1) {
      if (!(controlModal.isShowChangeDurationButtonType && controlModal.isShowAddNewEvent && controlModal.isShowAddEcgBookmark)) {
        setPickedStartDate(null);
        setPickedEndDate(null);
        setPickedBookmarkDate(null);
        setPickDateAction(TPickDateAction.NONE);
      }
      if (controlModal.isShowChangeDurationButtonType || controlModal.isShowAddNewEvent) {
        setPickDateAction(TPickDateAction.START);
      }
      if (controlModal.isShowAddEcgBookmark) {
        setPickDateAction(TPickDateAction.BOOKMARK);
      }
    }
  }, [controlModal]);

  return null;
};

// Other Tab Components (ECG, Strip Management, Templates, HR Summary) follow the same structure

// TabStripManagermentUIEffect component
const TabStripManagermentUIEffect = ({ keyRecoil }) => {
  const activeButton = useRecoilValue(activeTabState(keyRecoil));
  const eventStripsData = useRecoilValue(eventStripsDataState(keyRecoil));
  const deviceEventData = useRecoilValue(deviceEventDataState(keyRecoil));
  const setEmptySelectedKey = useSetRecoilState(emptySelectedKeyState(keyRecoil));
  const setEmptySelectedKeyDevice = useSetRecoilState(emptySelectedKeyState(keyRecoil));

  useEffect(() => {
    const isDeviceEvent = DEVICE_TAB_TYPES.includes(activeButton);
    const config = { isEmptyTab: false };
    if (isDeviceEvent) {
      const filteredData = _.filter(deviceEventData?.[activeButton], x => x.filterType === activeButton);
      _.assign(config, { isEmptyTab: _.isEmpty(filteredData) });
      setEmptySelectedKeyDevice(config);
    }
    if (_.isEmpty(eventStripsData)) {
      _.assign(config, { isEmptyAutoEvents: true });
    }
    setEmptySelectedKey(config);
  }, [activeButton, eventStripsData, deviceEventData]);

  return null;
};

export default TabUIEffect;
import 'dart:async';
import 'package:flutter/material.dart';

class CustomSplashScreen extends StatefulWidget {
  final Widget child;
  final Duration duration;
  final String image;
  final Curve transitionCurve;
  final Function()? onEnd;
  const CustomSplashScreen({
    super.key,
    required this.child,
    required this.duration,
    required this.image,
    this.transitionCurve = Curves.easeInOut,
    this.onEnd,
  });

  @override
  State<CustomSplashScreen> createState() => _CustomSplashScreenState();
}

class _CustomSplashScreenState extends State<CustomSplashScreen>
    with SingleTickerProviderStateMixin {
  bool enableSplash = true;
  late Timer timer;

  @override
  void initState() {
    super.initState();
    _initializeSplash();
  }

  void _initializeSplash() {
    timer = Timer(
      widget.duration,
      () {
        setState(() {
          enableSplash = false;
        widget.onEnd?.call();
        });
      },
    );
  }

  @override
  void dispose() {
    timer.cancel();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return AnimatedSwitcher(
      duration: const Duration(milliseconds: 500),
      switchInCurve: widget.transitionCurve,
      switchOutCurve: widget.transitionCurve,
      child: enableSplash
          ? Container(
              color: Colors.white,
              child: Center(
                child: Image.asset(
                  widget.image,
                  fit: BoxFit.cover,
                  width: double.infinity,
                  height: double.infinity,
                ),
              ),
            )
          : widget.child,
    );
  }
}
6 8 9 11 10
13 16 19 22 24 25 25
43 46 47 48 50 52 56
55 57 60 61 64 65 68 74
81 84 86 83 84 87
45 47 50 49 46
15 16 18 16 16
79 80 81 79 80 83 85 89
70 73 74 72 77
78 80 81 81 83
77 79 82 85 88 88 89 87
74 75 75 78 80 82 82
83 84 84 87 88 90 94
9 11 14 16 16 21
40 42 44 48 51 53 56
71 74 78 81 80
7 9 11 14 18 20 21 21
74 77 81 82 83 87
76 77 79 80 84 86 93
62 63 69 72 75 77 78
21 23 29 32 35 37 35
85 87 88 94 94
45 47 49 56 60
45 46 51 54 56 61
63 60 62 65 67 69
39 37 40 43 44 45 46 45
84 81 84 87 87
93 91 93 95 99
45 44 46 47 49 56
72 69 68 69 72
83 81 84 81 80
4 3 5 7 6 8 10 10
92 90 87 89 93
46 45 47 44 47 48 49 54
43 42 43 43 45
18 15 15 17 20 21 19
72 71 72 73 75 75 78 78
49 46 47 49 51 51 52 56
73 72 73 74 75 78 78 84
52 49 53 55 57 60 62
21 19 23 25 27 29 28
80 77 78 81 85 86 88 88
21 20 24 27 31
37 35 39 42 48
64 61 63 69 70 72 74 75
84 83 85 88 94 91
24 23 30 32 34 37 37
70 69 70 75 79
4 3 8 10 13 20
13 13 15 17 18 19 21
9 9 10 12 15 13
50 50 53 55 57 60 62 62
5 5 7 9 13
43 43 45 47 48 50 55
79 79 81 84 82 85 88
92 92 95 93 96 95
22 22 23 22 23 25 26 26
84 84 85 83 87
72 72 70 71 72 78
17 17 19 19 20 21 24
41 41 44 47 47 44
31 31 31 32 34 35 35
7 7 9 12 12 14 18
21 21 21 22 29
83 83 85 86 88 92 94 97
26 26 27 30 33 37 35
28 28 32 35 35
82 82 85 88 92 96
6 6 10 12 18
83 83 88 89 90 92 95
19 19 24 26 28 27
41 41 48 49 49
25 25 32 33 34 36 40
28 28 29 30 33 36 43 50
83 87 89 90 93 96 99
46 50 53 54 55 58 59 56
65 69 70 73 76 78 78
67 71 72 75 77 78 82
82 86 87 89 96
81 85 86 88 91 93 92 94
59 63 66 67 65 67 64
16 20 19 20 20
89 93 96 93 97
70 74 72 74 77 83
7 11 13 14 14 15 16
26 30 31 33 36 39 39 38
55 59 62 64 64 66 66
30 34 35 35 38 40 43 47
5 9 9 12 15 22
43 47 49 52 53 54 58 61
38 42 46 48 51 53 50
1 5 6 10 10
9 13 17 20 21 23 27
28 32 36 39 40 43 48
23 27 33 36 38 40 41
51 55 57 63 61
64 68 70 77 78 81 83 83
22 26 29 32 37 41
80 84 90 92 93 99
57 63 66 68 70
75 82 84 85 86 85
52 58 61 62 62
49 56 59 61 63 66 70
33 39 40 42 45 46 53
71 77 75 76 77
73 79 76 79 82 84 82
53 58 60 62 64 63 63
47 54 51 53 55 58 60 64
70 77 74 76 83
41 46 46 48 49
26 31 33 33 32
82 89 91 91 92 92
54 60 60 61 65
20 25 26 26 31
49 56 57 61 62 65
60 65 68 70 72 76 77 75
8 13 16 20 22 24 27 27
17 24 25 29 31 35
74 79 83 86 93
5 11 14 21 22 25 28
48 53 55 61 64 67 69 68
68 73 74 80 82 82
9 14 19 20 21 25
10 15 22 24 29
68 65 63 61 59 60
25 24 21 20 20
71 69 66 65 62 58
77 76 73 71 64
83 80 81 79 78 75
20 17 20 19 18 20
70 67 65 64 66 66
93 92 94 92 88
75 72 69 70 68 61
12 10 7 7 5 4 2
63 62 59 59 62
18 17 14 13 12 12 10 10
82 80 78 78 75 71
26 24 23 23 18
49 47 43 42 39 36 34 33
50 49 46 42 39 41
38 35 31 29 27 25 25
15 14 10 7 5 1
69 66 64 60 59 56 55 49
77 75 73 67 64 62
95 93 90 87 81 82
14 13 12 10 9 4 4
62 59 56 49 46 42
47 44 37 34 32 30 29 24
79 81 78 75 72 70 67 65
62 64 63 60 58 59
66 67 66 64 63 61 61
38 39 38 36 34 30
39 42 41 39 38 37 34 27
58 61 58 55 53 52 53 52
82 85 87 85 88
25 26 27 25 23 21 21
87 89 91 88 87 86 84 80
34 35 33 34 32 27
85 88 85 84 84 83
14 16 16 14 15
16 18 15 12 12 10 10
55 57 54 52 52 48
71 74 73 73 72 67
25 28 24 21 19 16
59 62 60 56 55 53 52 54
55 57 53 50 47 45 44 44
34 37 34 33 32 28 24
84 87 83 80 78 76 73 66
23 25 23 17 15
75 78 76 74 73 70 65 68
24 25 19 17 17
95 98 92 91 87
91 92 90 83 77
45 45 44 43 42
88 88 85 82 79 78 75 77
55 55 54 53 50 50
73 73 70 67 64 60
97 97 94 92 91 84
7 7 6 3 4 3
71 71 70 67 65 66 67
69 69 70 67 64 61 60 60
20 20 18 16 14 16 15 11
39 39 36 38 35 33 30 25
42 42 42 40 38 36
49 49 46 46 44 43 45
19 19 17 15 15 13 13
81 81 81 78 76 75 71
20 20 17 17 14 12 11 5
74 74 73 69 68 66 63
68 68 65 61 58 61
44 44 40 37 34 34
60 60 59 55 53 49
38 38 36 32 30 23
70 70 68 62 61 58
51 51 49 48 41 39 41
28 28 25 19 18 18
19 19 12 9 8 4
83 83 76 73 67
66 62 59 56 55 53
19 15 14 13 15
78 74 72 69 67 66 66
93 89 88 87 84 82 78
92 88 87 86 85 83 80 73
84 80 82 80 78 76
71 67 69 66 67
84 80 78 81 81
25 21 18 17 16 18 14
57 53 55 54 47
18 14 14 11 10
66 62 59 58 55 55 58
79 75 74 74 74
67 63 60 60 59 56 52
49 45 42 40 38 37 37 31
94 90 87 85 81 79
30 26 23 22 21 17 19
75 71 68 65 63 60 56 56
97 93 91 90 86 83 79
23 19 18 14 12 6
93 89 88 82 79 77 74
57 53 52 50 47 42 45
41 37 34 32 27 27
96 92 91 86 84 81 80 76
57 53 47 44 41 39 33
49 43 41 39 38 37 35
44 38 37 35 38
24 18 16 13 11 11
67 61 58 57 55 51
60 55 53 52 46
49 44 46 44 41
16 9 10 8 5 7
27 21 20 21 19 16 16
20 15 13 16 13 9
91 84 87 86 81
60 55 52 49 49 46 45
16 9 7 5 4 4 3 5
94 88 88 86 83 83
84 77 76 76 73 70 68 64
65 59 57 55 52 49 49 42
47 41 38 36 32 30
24 19 18 14 12 14
43 38 36 32 32
78 71 68 64 62 58
38 31 27 26 20
30 24 23 18 16 13
61 55 52 45 42 39 37 40
30 24 23 22 17 15 15
75 69 64 62 60 57 55 51
94 89 86 80 78 71
13 15 18 21 19
20 22 23 26 29 29
41 43 46 49 53
27 30 31 32 39
18 21 23 22 23 26 28
64 66 69 66 68 69 71 68
15 18 21 19 21 24 24
76 78 80 77 81
60 61 62 64 63 64 70
13 16 17 17 20 21
66 69 72 72 75 74
14 16 16 17 17
5 6 6 8 12
1 3 6 6 12
64 67 71 74 75 78 81 83
20 22 24 26 30 33 35 34
29 31 35 37 37
31 32 36 37 40 42 46
59 62 65 69 72 74 77 82
77 78 83 84 85 88 91
72 74 76 82 83 85 83
12 13 15 21 21
63 65 68 70 76 80
42 44 47 48 53 54 55 60
43 41 43 45 46 49
38 36 39 40 41 40
16 15 16 17 17
29 27 29 32 35 39
28 25 27 30 33 38
44 41 43 40 42 44 46
72 70 71 70 72 70
83 80 78 81 83 85 88 88
43 41 43 45 46 49 47 51
69 66 65 66 67 68 74
31 28 31 31 34
66 64 67 70 70 71 68
86 83 83 86 87 89 89
76 74 74 76 79 82 86
6 3 3 4 10
43 42 43 44 47 49 53 55
64 62 64 68 65
61 59 62 64 65 69 72 72
87 85 88 92 96
48 46 50 53 60
12 10 15 17 19 20
26 25 27 29 30 37 34
25 22 25 27 32 33 35 35
55 53 55 62 65 67 70 74
79 78 80 87 89 96
58 58 61 62 64 66 68
66 66 68 71 73 75 72
30 30 32 33 34 37 37
30 30 33 36 38 40 44
78 78 80 81 83 90
56 56 59 62 65 63 64 66
38 38 39 40 37 39 41 40
79 79 77 79 82 84 87 87
21 21 19 21 22 24 28
23 23 22 25 31
68 68 70 72 72 75
21 21 22 22 23 25 23
22 22 25 26 26 28 28
84 84 84 87 90 92 96
76 76 79 79 85
26 26 28 32 34 36 38 40
15 15 17 21 19
59 59 62 65 69 71 71
30 30 32 35 38 42 43 47
53 53 54 55 59 64
28 28 30 37 38
57 57 64 67 66
65 65 66 69 74 74
49 49 55 56 60
39 39 41 42 49 56
77 81 83 84 86 89 91
12 16 18 19 22 24 22
24 28 30 33 35 38 41 41
85 89 91 93 95 99
1 5 6 9 11 18
66 70 72 74 75 77 75 76
67 71 72 74 76 73 70
2 6 8 11 12 9 9
52 56 53 55 56 60
15 19 22 21 28
71 75 77 77 80 83
16 20 22 22 25 23
18 22 25 26 26 26
8 12 12 14 15 18 19 23
53 57 60 63 63 64 66 72
37 41 44 48 50
32 36 38 42 44 47 46
3 7 9 11 13 17 17
72 76 80 83 87
61 65 68 70 72 76 77 82
35 39 41 48 51 53
80 84 85 92 94 95 94
17 21 24 31 31
61 65 70 73 76 80
34 38 41 44 50 51 58
22 27 30 31 33 36 39 42
51 58 59 60 63 61
35 41 42 44 45 46 49 49
77 83 85 87 89 93
14 20 23 24 25 27 32
28 34 36 37 39 36 38
62 69 71 70 68
79 84 81 82 85 86 86
63 69 71 68 70 74
18 24 21 22 23 28
76 81 82 83 83 84 86 87
62 69 72 72 69
79 84 84 87 90 90
4 10 11 11 15
46 52 55 56 56 58 63
58 65 68 72 73
44 50 53 55 59 56
67 72 76 79 81 83 84 84
64 70 72 76 77 79 80 84
14 21 25 27 29 35
11 16 18 19 25 27 30
26 32 34 41 39
18 25 26 29 35 35
15 22 28 29 32 33 37
74 81 82 88 95
56 53 52 51 50 48 51
11 9 6 3 3
42 39 36 35 31
67 64 62 60 54
9 6 9 8 5
38 35 33 36 35 36
59 57 56 53 55 55
97 96 94 92 93 89
88 87 86 87 86 81
40 37 37 34 31
29 28 28 27 26 29
91 89 87 84 84 84
85 84 84 81 77
16 14 11 11 5
95 94 91 90 86 83
40 39 38 37 33 35
32 31 27 26 26
22 20 16 13 9
32 29 27 25 24 20 19 14
60 57 55 50 48
28 25 22 20 13 10 8 9
45 43 42 36 33 30 30
89 88 86 79 77 76 73 69
27 26 19 16 13 10 3
21 24 23 21 20 19 18
32 35 32 30 28 27 29
68 71 68 65 63 60 59 59
58 59 58 57 53
43 46 44 43 40 38 35 28
9 11 12 10 7
85 86 83 80 77 80 77 78
8 10 8 7 5 6 6
53 56 53 52 53 49
24 27 25 23 20 22 20 15
12 15 14 14 13 10
53 54 53 50 50 47 44 45
36 38 35 35 34 33 31 31
36 39 39 37 33
71 72 72 71 69 64
11 13 11 10 6 4
52 53 49 48 50
59 61 59 55 54 54
82 84 81 77 76 73 71 67
56 57 54 53 49 46 44 37
64 66 65 60 57
65 67 64 58 57 56 59
90 92 85 84 81 78 78
43 45 44 42 36 32
27 29 26 24 23 20 14 9
53 53 51 49 47 44 42 39
85 85 82 81 79 76 75 78
51 51 50 48 46 46
78 78 75 73 71 69 67 63
36 36 33 31 29 22
73 73 71 74 71
16 16 13 11 13 14
64 64 61 62 62
53 53 55 52 48
48 48 49 48 41
28 28 26 26 25
48 48 46 43 43 42 45
77 77 74 72 71 71 68 68
36 36 33 31 31 30 28 24
26 26 23 23 17
89 89 86 82 79 76 75
14 14 13 12 8 6 8
88 88 84 81 80 80
55 55 54 50 47 43
99 99 95 92 89 86 84 78
56 56 54 47 44
18 18 16 14 8 7 8
87 87 80 79 78 76 74 74
86 86 81 78 76 72
87 87 84 77 75 73 66
82 78 76 73 70 69 68
38 34 32 30 27 25 24 25
64 60 59 56 55 55
50 46 45 44 42 38
21 17 14 11 9 3
39 35 34 32 34 31
73 69 67 64 61 58 59 62
23 19 16 14 17 17
22 18 19 17 13
27 23 21 19 21 18 17 12
60 56 55 53 50 50 49
21 17 14 14 17
61 57 57 55 53 52 52
89 85 83 82 82 81 79 75
90 86 84 84 78
52 48 46 42 39
85 81 79 78 74 72 69 72
40 36 34 31 28 24 24
89 85 81 79 76 74 70
43 39 35 32 29 27 22
45 41 35 34 33 32 30 28
74 70 68 62 64
92 88 86 81 79 76 73 73
71 67 64 63 57 56 52
93 89 88 81 80 75
27 21 18 16 14
18 11 10 9 8 6 7
80 75 73 71 71
27 21 19 17 15 12 10 6
43 38 36 34 33 28
71 64 63 64 62
97 91 89 88 87 88 89
68 63 60 63 61 61
17 11 13 10 9 7 5 1
64 57 55 57 55 53 47
73 66 63 60 59 59 56 53
27 22 21 20 19 16 16 19
31 25 25 24 24
34 28 28 25 24 20
73 68 65 65 64 59
67 62 59 55 54 51 48 46
76 70 68 64 61 58 60
83 76 75 71 71
76 71 69 68 64 60
42 35 32 31 27 24 21 14
52 46 44 43 36 33
69 62 56 53 52 49 51
23 18 12 10 9 7 7
74 67 64 62 56 52
28 21 15 12 9 2
48 49 50 51 49
48 51 52 53 54 56 56
61 64 67 70 74
14 17 20 23 29
11 13 10 13 16
26 28 31 30 33 30
17 20 22 19 19
59 61 63 65 62 66
64 66 67 70 67 70 71 76
20 22 22 25 28 31
82 84 85 85 87 90 87
32 33 36 37 37 39 41 41
30 33 36 38 40 42 42 46
83 85 86 89 92 92 93 99
13 14 15 19 22 23 25
20 21 25 28 26
17 19 22 26 26
35 36 40 42 45 49
19 22 23 24 28 34
37 39 40 46 49
74 76 78 84 81
23 25 28 35 35
82 83 89 90 92 96
39 41 47 48 53
26 24 26 29 30 31 33 34
8 7 10 11 9
38 37 39 40 41 41
39 38 40 42 46
68 66 69 70 72 78
60 57 59 60 58 61 62
62 60 61 59 58
11 10 12 14 13 13
63 62 61 64 67 71
89 86 85 88 90 91 97
34 32 32 33 35
16 14 14 17 18 19 18
20 17 20 22 25 28 28 28
6 5 6 6 10
20 17 18 18 20 25
20 19 22 26 29 32 35
59 56 59 62 65 69 66
72 70 71 75 76 79 82 82
30 29 32 36 40
80 79 83 86 93
25 24 31 32 34 35 36
12 9 14 16 13
26 23 29 32 35 36 36
23 22 27 28 32
71 68 74 77 80 83 89
81 81 84 87 90 93 95 97
66 66 67 69 72 73 75 73
75 75 76 78 80 82 82
15 15 16 18 21 25
51 51 53 56 61
74 74 71 72 75
34 34 36 35 32
41 41 44 43 43
72 72 69 71 75
51 51 52 53 51 57
53 53 55 58 59 59 61
1 1 4 4 7 4
76 76 79 79 82 83 83
2 2 4 4 7 8 12
85 85 86 88 88 93
57 57 59 63 66 67
65 65 68 69 71 72 76 75
71 71 75 78 80 80
29 29 33 36 40
63 63 65 69 70 73 74 81
11 11 17 18 21 24
79 79 82 84 90 91 93 91
15 15 20 23 25 25
76 76 78 80 86 88 91 95
38 38 39 46 51
47 51 53 54 55
33 37 38 41 40
6 10 13 15 15
50 54 56 59 60 62 66
1 5 6 9 14
44 48 46 48 50 52
34 38 40 41 42 43 40 37
77 81 82 83 82 83 83
17 21 22 23 21 22 26
74 78 80 78 80 83 88
47 51 51 52 54 56
65 69 72 74 75 75 77 76
56 60 63 63 64 66 68 68
53 57 58 59 59 61 65
30 34 35 37 39 39 42 47
72 76 78 82 85 88 89
56 60 64 65 68 66
83 87 90 94 94
12 16 20 22 25 29
45 49 53 56 63
67 71 78 79 80 81 82
75 79 82 84 89 92 91
49 53 55 58 61 62 69 69
58 62 64 69 70 73 76 80
48 52 57 60 61 62 63 69
45 52 54 56 58 60
13 19 21 24 23
25 31 32 33 34 37 37
76 82 83 85 86 88 92
48 55 56 58 64
16 22 23 21 24 25 28
25 32 34 36 35 32
11 18 19 16 17 19 19
25 31 32 34 37 40 38 42
15 20 22 20 26
67 72 75 75 76 79
26 31 32 34 35 35 32
71 77 80 81 83 85 85 85
44 49 52 52 56
66 71 71 72 73 76 78 83
54 60 64 66 68 71 73
36 42 45 46 50 52 49
79 84 87 90 92 96 96
30 37 40 42 44 45 49 53
36 41 45 47 53
45 52 59 61 63
11 18 20 27 28 26
16 21 28 31 31
13 19 20 26 28 29 30 34
56 61 62 65 72 75 82
20 18 16 15 16
37 34 33 32 31 30 30
50 49 46 45 42 38
61 58 55 53 51 48 43
72 69 68 71 70 67 65
13 10 11 9 8 7 10
64 63 61 62 62
48 46 47 46 42
44 42 43 41 40 33
11 8 8 5 2
94 91 91 88 89
47 46 43 43 40 40
93 90 87 87 83
25 23 20 18 18 12
83 82 79 75 72
38 35 32 29 25 23 24
77 76 74 70 68 66 66
85 83 81 78 77 75 71 67
49 48 47 43 42 36
79 78 75 73 72 70 63 61
32 29 27 24 18 19
48 47 40 38 38
56 53 50 49 42 39 35
25 22 21 20 15 8
59 61 58 57 55 54
64 67 64 61 60 58 61
21 23 22 20 19 16 16
68 69 67 65 64 60
21 23 21 20 17 15 12 5
11 12 10 7 8 6 4 3
94 96 93 95 98
77 79 77 78 75 72 72
23 24 21 19 20 19 15
32 34 33 34 27
15 17 17 16 15
34 37 35 32 31 31 33
24 25 22 20 19 19 19
15 18 15 15 13 11 7
88 90 90 89 86 85 83 76
81 84 81 77 74 72 69
50 53 50 46 49
51 53 49 48 48
52 53 49 46 44 41 38 34
57 60 58 55 51 48 41
87 89 88 82 79
64 65 64 61 54 55
95 96 93 90 83 81 78 78
17 20 18 11 9 6 5 1
42 45 38 36 29
48 48 47 44 41 40
21 21 18 16 13 12 10 13
64 64 63 60 57 57
19 19 17 14 11 8 6 2
18 18 15 13 8
97 97 99 98 95 94
42 42 40 42 40 38 39
5 5 8 6 4 4
66 66 64 63 61 64 62 58
18 18 16 18 16 15 13 6
23 23 23 20 17 16
41 41 41 38 40
36 36 34 31 28 28 28
70 70 70 68 65 64 62 58
21 21 19 19 14
66 66 62 61 59 56 54 53
78 78 74 71 68 67 66 68
81 81 80 78 74 73 71 71
69 69 68 64 60
68 68 66 62 60 57 55 48
55 55 48 45 43 42 40 38
23 23 21 14 15
61 61 60 57 56 51 51
66 66 64 62 60 54 50
96 96 90 87 81
39 35 33 31 30 28 25
35 31 28 26 23 26
83 79 78 77 75 72 72
42 38 37 35 31
50 46 44 43 40 38 37 31
74 70 69 71 69 68 65 63
97 93 90 93 96
43 39 38 35 38 35 35
60 56 59 57 53
87 83 82 85 83 77
28 24 22 22 19 17
52 48 48 45 48
16 12 9 9 8 6 6
94 90 88 86 86 84 81 77
87 83 83 80 78 77 71
66 62 61 57 56
36 32 28 25 24 21 24
64 60 59 56 52 52
73 69 68 65 63 62 58 54
76 72 68 67 65 62 56
33 29 24 21 18
94 90 88 81 83
30 26 21 20 20
42 38 36 30 26
47 43 38 35 28
40 35 32 31 28 25
87 82 80 77 76 75 76
16 10 8 5 2 2
29 24 23 20 18 15 12 8
57 50 48 45 40
58 52 54 53 50 49
86 80 77 78 76 73 75
75 70 67 69 69
66 60 57 58 55 54 51 47
38 32 30 29 31 24
54 47 45 43 43 41
74 69 67 67 70
52 47 44 44 41 39 37 37
36 31 29 26 26 24 20
32 26 25 23 22 22 21 16
34 28 25 21 19
86 80 76 73 75
65 58 54 51 50 49 49
50 43 41 38 37 35 31 27
35 28 24 21 18 11
34 27 20 18 16
14 9 8 3 6
63 57 56 49 49
94 88 85 79 77 73
70 65 60 57 56 55 52 45
69 69 66 65 64 67 66 66
62 64 66 66 63
82 80 78 76 72 74
90 92 92 93 94
69 67 64 62 60
42 45 47 48 51
36 39 42 43 46 49 52
13 10 9 7 5
25 26 28 29 31 33 35 38
14 13 12 9 7 4 2
65 68 70 72 75 77
23 26 28 29 31 34 35 37
17 14 12 9 7 6 4 2
33 34 37 38 41
37 36 33 30 27
5 8 9 10 12
63 61 58 57 54
23 25 28 31 33 35 38 39
13 10 7 6 4
86 88 90 91 92 94
55 54 53 51 50 48 46
33 30 27 24 21 18
65 67 70 73 74 75 78
53 51 48 45 43 40 37
94 92 91 89 87 86 83
69 71 74 75 76
72 74 77 79 81 82 84 85
21 18 17 14 11
18 17 14 12 9
88 91 92 94 96 99
12 9 6 5 2
68 65 62 61 60 57 55 53
30 27 25 22 19 18 17
34 37 39 42 44 47 49 51
71 74 77 80 81 84 87
29 28 25 23 20 17 14 12
53 54 57 58 59
23 21 19 17 16 15
31 34 36 37 39 41 42 44
58 61 64 66 68 70 72
3 4 6 9 10 13 15
64 63 60 58 56 54 53 52
75 77 78 80 81 83 86 88
61 63 65 66 68 71 73
20 23 24 26 28 30 33
18 15 12 10 7
50 48 45 43 40 39 37 36
48 47 45 42 41 39
7 10 11 13 14 17 18
25 22 19 18 16 14 12 11
53 50 47 45 42
57 58 59 60 62 64 65
38 41 42 43 44 46 47
50 53 56 57 60 62 64
86 83 81 78 76 74 72 69
60 61 64 66 68 69 71 73
13 16 18 19 22 25 26 27
77 79 81 84 85
81 79 78 76 73 71
32 34 37 40 42
89 88 87 85 84 83
59 62 65 67 68 70 73 74
54 57 58 60 63
34 32 31 29 27 24 21
43 45 46 49 51
76 78 79 80 82 84
36 34 32 30 27
23 24 25 28 29
19 22 25 28 30 33 35
61 59 57 54 52 50
23 24 25 27 30 32 33 34
63 64 66 69 70 71 72 74
85 86 88 89 92 95 96 97
8 9 10 13 15
74 73 71 68 65 62 60 59
51 48 45 44 41 38 36
41 39 38 36 34 31
58 59 60 62 64
29 31 33 36 38 39 41 43
1 2 4 5 7 10 11 14
24 27 29 32 33 35
54 52 50 49 47 45
30 29 27 24 21 19 16 14
44 46 49 50 51 52 54
24 25 28 31 34 36
53 52 51 50 47
63 62 60 58 57 56 54 51
38 39 41 44 47 49 52
97 96 93 90 87 84 83
81 79 77 75 72 70
36 35 32 31 29
76 77 80 83 86 89 91
21 22 24 27 28 30 32 33
80 81 82 84 85 86
94 93 91 88 85 84 81 79
77 79 81 82 85 86 89 91
42 39 36 35 32 29 27
19 18 16 15 14
63 62 60 57 55 54 53 51
31 30 27 25 23 22 20 18
35 37 38 40 42 45 46
41 44 45 47 48 51
19 21 23 26 29 31
32 30 28 26 23
31 33 35 37 38
46 43 40 37 35 32
81 80 77 74 71
16 17 18 19 22
67 65 64 62 61
66 63 61 58 55 54 51
46 49 52 54 56
51 50 47 46 43
30 32 33 35 36
66 63 60 58 57 56 55
67 64 61 59 56 55
37 36 33 32 31
87 88 91 92 93 95 96
62 59 58 55 54
12 10 9 8 5
64 62 61 60 58
16 18 21 24 27 28 29
79 78 76 73 71 70 69 66
87 85 84 82 81 79 77
74 76 79 81 82 83 86 89
91 89 87 85 84 81 78 77
75 72 71 68 65 64 62 59
52 55 58 60 62 64
44 46 49 51 53 54 55 56
65 63 62 59 56 55 52 51
21 23 25 28 31 32 34 37
81 79 78 76 73 72 69 67
14 11 10 9 8 6 3
59 56 55 53 51 49
62 59 58 56 54 53 52 49
45 48 49 51 53 55 56
11 13 16 18 20 21 24
27 26 23 22 19 18
70 67 64 62 60 57 55
96 94 91 90 88 86
63 66 67 70 73
5 8 11 14 16 19 21 22
83 85 86 88 91 92
40 39 36 35 34
73 75 77 78 81 83
50 49 47 46 44 41 38 35
73 76 79 81 83 86 88 90
15 16 18 20 21
85 87 88 89 91
71 73 75 76 77 79 80 83
28 25 22 21 20
15 17 19 20 21 24 25
40 39 37 34 31 30 27 25
90 87 86 83 81 78 76 75
32 31 28 25 24 21 18
9 11 14 16 18
9 10 11 14 16 19 21 22
14 13 12 10 9 7 6
53 50 48 46 43 42
51 54 56 59 61 63 66 68
39 41 43 44 47 50 53
77 75 74 73 72 70 68
40 43 46 48 50 52 54
44 46 49 50 53 55 58 59
13 14 15 18 20 21 24
13 16 18 20 23 25
16 19 20 23 26
34 35 36 38 41 43
62 59 58 56 55 53 52
14 13 10 8 5 4 2
14 13 12 9 6 4
25 23 21 19 16 15
64 63 60 57 55 53 50 48
51 53 54 55 56 58 60
74 72 69 66 64 63 61 58
6 9 11 14 15 18 19
69 72 73 76 78 79
47 45 43 41 39
30 28 26 23 20 19 17
11 9 7 6 5 2 1
53 51 50 49 48 45
56 58 59 60 63 65 67
88 85 84 81 79 78 77
90 87 85 84 81 80 77
49 46 45 42 40 37 36
26 24 23 22 20 18
45 43 42 41 38
66 68 69 72 75
25 24 21 20 17 14
50 52 55 56 57 59 60 63
15 14 13 10 9 6
47 46 44 42 41 39
75 77 79 80 83 85 86 88
13 10 7 4 3
95 92 89 87 84 81
88 89 91 94 95 97 99
79 76 74 71 68 66 65
83 85 86 87 89 90 92
44 45 46 48 51
20 17 16 14 12
59 60 63 65 67 70 72 75
11 12 13 14 16 18
63 60 59 57 55 53 51
39 36 34 33 31 30 27 24
61 59 58 56 53
34 31 29 27 24
66 67 68 70 73 74 77
88 90 91 93 96 97 98
58 59 61 64 65 68 71
19 16 15 14 11 10
34 31 28 25 23 21 18 16
9 12 15 16 19 22
11 13 16 19 20 23 24
97 96 95 94 93 92 89
33 30 29 28 26
2 3 4 5 7 8
57 60 61 64 67
23 25 27 29 31 34 37 38
70 67 65 64 61
80 79 78 77 75 72
43 40 38 37 34
56 58 59 61 62 64
54 57 58 60 62 64 67 69
36 33 30 27 26 25
48 50 53 56 59 62 63
61 59 58 57 55 53
81 82 83 85 86 89 92
37 40 43 45 47 49 51
99 97 95 92 89
30 32 35 37 38
52 53 54 57 59 60 61 62
58 56 53 51 50
30 29 26 25 24
16 15 13 11 8 6
26 23 21 20 19 18
72 71 68 67 66 63 60
18 15 13 12 9 6
70 69 68 67 66 65
64 66 68 71 72 74 76
47 45 43 40 38
9 12 13 14 15 17 19 20
50 52 54 55 57 59 62 65
17 15 14 12 10
26 25 23 22 20 18 16 15
82 80 78 77 75
96 95 93 92 89
22 23 25 28 29 32 33 35
35 37 40 42 44 47 50
74 73 70 69 67 64
19 17 14 12 11 8 5 3
62 64 67 68 70
69 71 73 74 76 78
7 8 9 10 13 14
84 82 80 78 76 75 72
18 21 24 25 26
54 56 57 60 62 64 65
62 63 66 68 70 73
You are a helpful Al programming assistant.
When asked for your name, you must respond with 'Code Copilot(CC)'.
Follow the user's requirements carefully & to the letter.
Your expertise is strictly limited to software development topics.
For questions not related to software development, simply give a
reminder that you are a helpful Al programming assistant.
Keep your answers short and impersonal.
You use the GPT-4 version of OpenAl's GPT models.
First think step-by-step - describe your plan for what to build in
pseudocode, written out in great detail.
Then output the code in a single code block.
Make sure to include the programming language name at the start of the
Markdown code blocks,
Only comment on crucial lines.
Minimize any other prose.
Keep your answers short and impersonal.
Use Markdown formatting in your answers.
Avoid wrapping the whole response in triple backticks.
The user works in ChatGPT web UI, where they may paste their code or
upload files from their local repo, or provide links like GitHub url to the
related code or documentation.
If the user providing links, you should use the browser tool to retrieve the
content from the links.
Carefully answer the user's question according to the page content.
If the user providing files, you can use the myfiles browser tool to read
the file.
If the user asks to execute or test the Python code, you can try to use the
python tool to execute it.
You must not visit the links or execute the code unless the user explicitly
asked.
You should always generate short suggestions for the next user turns that
are relevant to the conversation.
from cryptography.fernet import Fernet
import sqlite3

# Generate key to use it
#print(Fernet.generate_key())

key = b'rMqQ4gNSsvkubQnn9CmW25PTFDwNlQPUp7YN4qDVSts='
cipher_suite = Fernet(key)

db_name = 'mydb.db'

conn = sqlite3.connect(db_name)
cursor = conn.cursor()

# create a table
cursor.execute('create table if not exists items (name STRING, price INTEGER)')

def add_item(name, price):
    name = cipher_suite.encrypt(name.encode())
    price = cipher_suite.encrypt(str(price).encode())

    cursor.execute('insert into items (name, price) values (?, ?)', (name, price))

    conn.commit()

add_item('test', 50)

def get_items():
    results = cursor.execute('select * from items').fetchall()
    for item in results:
        name = cipher_suite.decrypt(item[0]).decode()
        price = cipher_suite.decrypt(item[1]).decode()
        print(name, price)

get_items()
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": " :sunny: Boost Days - What's on this week! :sunny:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Let's make this week a great one with our Boost Day Program :yellow_heart: See below for what's in store! "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-3: Tuesday, 3rd December",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n:coffee: *Xero Café*: Café-style beverages and sweet treats\n:heart: *Barista Special*: _Iced Hazelnut Latte w/ whipped cream_. \n:pancakes: *Breakfast*: Provided by *Catroux* from *8:30am - 11am* \n"
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":calendar-date-5: Thursday, 5th December",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Café*: Café-style beverages and sweet treats \n:heart: *Barista Special*: _Iced Hazelnut Latte w/ whipped cream_.\n :cookie: *Light Lunch*: Provided by *Sticky Fingers* from *12.30pm - 1.30pm*"
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "Stay tuned to this channel for more details, check out the <https://calendar.google.com/calendar/u/0?cid=eGVyby5jb21fMXM4M3NiZzc1dnY0aThpY2FiZDZvZ2xncW9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ|*Auckland Social Calendar*>, and get ready to Boost your workdays!\n\nLove,\nWX :wx:"
			}
		}
	]
}
<textarea id="default">Hello, World!</textarea>
Updates: High Sierra and later
Latest versions for High Sierra, Mojave, Catalina, Big Sur, Monterey, Ventura and Sonoma:
32-bitCheck 1.8 – check 32-bit apps etc.
Alifix 1.3 – refresh and report broken Aliases
alisma 4 – Finder alias command tool
Apfelstrudel 1.5 – Unicode normalisation toolkit
Aquiline Check 1.0b2a – QuickLook cache control, includes Aquiliner 1.0
ArchiChect 2.5 – check app compatibility (macOS 11 and later)
Bailiff 1.5 – iCloud menubar control
Blowhole 11 – make log entry, command tool
cintch 3 – command tool to check file integrity
Cirrus 1.15 – full iCloud toolkit (11.5 and later)
cmpxat 4 – compare xattrs command tool
Consolation 3.13 – log browser
Cormorant 1.5 – compression-decompression (macOS 11 and later)
DeepTools 1.4 – preserve versions
DelightEd 2.3 – Rich Text editor
Dintch 1.6 – check file integrity
DispatchRider 0.3b1 – task scheduler
DispatchView 1.0 – inspect DAS and CTS in log
Dystextia 1.8 – obfuscate text with Unicode
Fintch 1.3 – drag and drop file integrity
HelpHelp 1.1 – Sierra only Help book toolkit (incompatible with High Sierra and later)
KeychainCheck 1.3 – check Keychains (not recommended for Mojave and later)
KeychainCheck 2.0 – advanced check Keychains
LockRattler 4.35 – check security systems – Sierra
LockRattler 4.37 – check security systems – High Sierra and later
Metamer 1.5 – simple metadata editor
Mints 1.20 – custom log browsers and tools to explore macOS (Big Sur and later)
Nalaprop 1.3 – parse text into parts of speech (Mojave and later only)
PermissionScanner 1.8 – check Home folder permissions
Podofyllin 1.3 – PDF reader
Precize 1.15 – file info including Aliases (High Sierra and later)
Revisionist 1.9 – document versions toolkit
Rosettavert 1.5 – text encoding conversion
RouteMap 1.0b4 – log Signpost harvest and analysis
Scrub 1.3 – clean sensitive files
SearchKey 1.5 – search metadata (full)
SearchKeyLite 1.5 – search metadata (basic)
Signet 1.3 – scans and checks bundle signatures (High Sierra and later)
The Signpost Kit 3 – RouteMap, Whither, Blowhole + tutorial bundle
SilentKnight 1.21 – checks security systems automatically
SilentKnight 2.11 – Catalina to Sequoia
silnite 10 – command tool to check security systems
Sparsity 1.3 – create and find APFS sparse files (Big Sur and later)
Spundle 1.8 – create, resize and compact sparse bundles
Stibium 1.1 – SSD performance benchmarking
SystHist 1.20 – list update history
T2M2 1.19 – Time Machine check
T2M2 2.02 – Time Machine check (Big Sur and later)
Taccy 1.15 – checks app’s signatures and privacy settings
Ulbow 1.10 – simpler log browser with power and charts
unorml 5 – Unicode normalisation command tool
UTIutility 1.3 – discover and convert UTIs
Woodpile 1.0b6 – top-down log browser (incompatible with Mojave and later)
xattred 1.5 – extended attribute (xattr) toolkit
XProCheck 1.6 – inspect reports of anti-malware checks (Catalina and later)
star

Thu Dec 05 2024 07:13:11 GMT+0000 (Coordinated Universal Time) https://stackoverflow.com/questions/71829361/how-to-download-mp4-video-in-js-react

@rtrmukesh

star

Thu Dec 05 2024 05:59:09 GMT+0000 (Coordinated Universal Time)

@truthfinder #vue.js

star

Thu Dec 05 2024 05:58:34 GMT+0000 (Coordinated Universal Time)

@truthfinder #vue.js

star

Thu Dec 05 2024 03:08:48 GMT+0000 (Coordinated Universal Time)

@John_Almer

star

Thu Dec 05 2024 03:08:48 GMT+0000 (Coordinated Universal Time)

@John_Almer

star

Thu Dec 05 2024 03:05:57 GMT+0000 (Coordinated Universal Time)

@John_Almer

star

Thu Dec 05 2024 02:50:47 GMT+0000 (Coordinated Universal Time)

@mamba

star

Thu Dec 05 2024 02:01:38 GMT+0000 (Coordinated Universal Time)

@John_Almer

star

Thu Dec 05 2024 01:48:13 GMT+0000 (Coordinated Universal Time) https://home.openweathermap.org/api_keys

@Fallonrey

star

Wed Dec 04 2024 18:50:56 GMT+0000 (Coordinated Universal Time)

@FOrestNAtion

star

Wed Dec 04 2024 18:50:55 GMT+0000 (Coordinated Universal Time)

@FOrestNAtion

star

Wed Dec 04 2024 17:31:40 GMT+0000 (Coordinated Universal Time)

@okkpurple

star

Wed Dec 04 2024 17:00:52 GMT+0000 (Coordinated Universal Time) https://www.globalstatements.com/secret/3/5g.html

@VanLemaime

star

Wed Dec 04 2024 16:52:27 GMT+0000 (Coordinated Universal Time)

@okkpurple

star

Wed Dec 04 2024 16:15:13 GMT+0000 (Coordinated Universal Time)

@okkpurple

star

Wed Dec 04 2024 14:31:44 GMT+0000 (Coordinated Universal Time)

@ccc

star

Wed Dec 04 2024 12:47:49 GMT+0000 (Coordinated Universal Time) https://training4employment.co.uk/wp-admin/theme-editor.php

@hamzakhan123 #undefined

star

Wed Dec 04 2024 10:26:22 GMT+0000 (Coordinated Universal Time)

@Pulak

star

Wed Dec 04 2024 07:59:00 GMT+0000 (Coordinated Universal Time)

@eugene98

star

Wed Dec 04 2024 06:01:16 GMT+0000 (Coordinated Universal Time) https://appticz.com/online-pharmacy-app-development

@aditi_sharma_

star

Tue Dec 03 2024 23:52:40 GMT+0000 (Coordinated Universal Time)

@Radhwen_hajri

star

Tue Dec 03 2024 20:08:34 GMT+0000 (Coordinated Universal Time) Self

@digitalwillem #python

star

Tue Dec 03 2024 20:00:24 GMT+0000 (Coordinated Universal Time) https://home.openweathermap.org/api_keys

@rabbiyajehangir

star

Tue Dec 03 2024 19:03:33 GMT+0000 (Coordinated Universal Time) https://krct.codetantra.com/secure/home.jsp

@student

star

Tue Dec 03 2024 18:54:42 GMT+0000 (Coordinated Universal Time)

@student

star

Tue Dec 03 2024 14:54:44 GMT+0000 (Coordinated Universal Time)

@MinaTimo

star

Tue Dec 03 2024 12:30:13 GMT+0000 (Coordinated Universal Time)

@boboots45

star

Tue Dec 03 2024 10:46:04 GMT+0000 (Coordinated Universal Time) https://codepen.io/softheartengineer/pen/azobyNN

@rstringa

star

Tue Dec 03 2024 07:27:03 GMT+0000 (Coordinated Universal Time)

@Shex #ollama #docker-compose #ai #webui

star

Tue Dec 03 2024 06:45:34 GMT+0000 (Coordinated Universal Time) https://www.coinsclone.com/coinbase-nft-marketplace-clone-script/

@LilianAnderson #coinbasenftmarketplace #buildnftmarketplace #nftbusinessideas #entrepreneurnftbenefits #nftmarketplacedevelopment

star

Tue Dec 03 2024 05:28:19 GMT+0000 (Coordinated Universal Time)

@miskat80

star

Tue Dec 03 2024 04:07:57 GMT+0000 (Coordinated Universal Time)

@kaushalagg

star

Tue Dec 03 2024 03:56:41 GMT+0000 (Coordinated Universal Time)

@mamba

star

Tue Dec 03 2024 03:52:57 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Tue Dec 03 2024 03:44:53 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Tue Dec 03 2024 03:29:10 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Tue Dec 03 2024 02:32:47 GMT+0000 (Coordinated Universal Time) https://medium.com/@sbkapelner/building-and-pushing-to-artifact-registry-with-github-actions-7027b3e443c1

@rdxtreme

star

Mon Dec 02 2024 20:27:00 GMT+0000 (Coordinated Universal Time)

@shirnunn

star

Mon Dec 02 2024 15:21:19 GMT+0000 (Coordinated Universal Time)

@khainguyenhm

star

Mon Dec 02 2024 11:21:38 GMT+0000 (Coordinated Universal Time)

@Samuel1347

star

Mon Dec 02 2024 10:18:37 GMT+0000 (Coordinated Universal Time) https://adventofcode.com/2024/day/2/input

@Alexlotl

star

Mon Dec 02 2024 02:56:36 GMT+0000 (Coordinated Universal Time) https://github.com/LouisShark/chatgpt_system_prompt/blob/main/prompts/gpts/2DQzU5UZl_CodeCopilot.md

@bbexperience

star

Sun Dec 01 2024 21:11:11 GMT+0000 (Coordinated Universal Time) https://app.slack.com/block-kit-builder/T49PT3R50#%7B%22blocks%22:%5B%7B%22type%22:%22header%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22%20:sunny:%20Boost%20Days%20-%20What's%20on%20this%20week!%20:sunny:%22%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Let's%20make%20this%20week%20a%20great%20one%20with%20our%20Boost%20Day%20Program%20:yellow_heart:%20See%20below%20for%20what's%20in%20store!%20%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22header%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22:calendar-date-3:%20Tuesday,%203rd%20December%22,%22emoji%22:true%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22%5Cn:coffee:%20*Xero%20Caf%C3%A9*:%20Caf%C3%A9-style%20beverages%20and%20sweet%20treats%5Cn:heart:%20*Barista%20Special*:%20_Iced%20Hazelnut%20Latte%20w/%20whipped%20cream_.%20%5Cn:pancakes:%20*Breakfast*:%20Provided%20by%20*Catroux*%20from%20*8:30am%20-%2011am*%20%5Cn%22%7D%7D,%7B%22type%22:%22header%22,%22text%22:%7B%22type%22:%22plain_text%22,%22text%22:%22:calendar-date-5:%20Thursday,%205th%20December%22,%22emoji%22:true%7D%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22:coffee:%20*Xero%20Caf%C3%A9*:%20Caf%C3%A9-style%20beverages%20and%20sweet%20treats%20%5Cn:heart:%20*Barista%20Special*:%20_Iced%20Hazelnut%20Latte%20w/%20whipped%20cream_.%5Cn%20:cookie:%20*Light%20Lunch*:%20Provided%20by%20*Sticky%20Fingers*%20from%20*12.30pm%20-%201.30pm*%22%7D%7D,%7B%22type%22:%22divider%22%7D,%7B%22type%22:%22section%22,%22text%22:%7B%22type%22:%22mrkdwn%22,%22text%22:%22Stay%20tuned%20to%20this%20channel%20for%20more%20details,%20check%20out%20the%20%3Chttps://calendar.google.com/calendar/u/0?cid=eGVyby5jb21fMXM4M3NiZzc1dnY0aThpY2FiZDZvZ2xncW9AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ%7C*Auckland%20Social%20Calendar*%3E,%20and%20get%20ready%20to%20Boost%20your%20workdays!%5Cn%5CnLove,%5CnWX%20:wx:%22%7D%7D%5D%7D

@FOHWellington

star

Sun Dec 01 2024 20:25:39 GMT+0000 (Coordinated Universal Time) https://www.linkedin.com/pulse/calling-rest-api-from-d365-using-x-navdeep-sheokand-jelme/

@pavankkm

star

Sun Dec 01 2024 20:22:02 GMT+0000 (Coordinated Universal Time) https://samidax.wordpress.com/2022/02/17/calling-an-external-web-service-api-from-d365-fo/

@pavankkm

star

Sun Dec 01 2024 18:24:41 GMT+0000 (Coordinated Universal Time) https://www.cibthai-online.com/

@kiritokato

star

Sun Dec 01 2024 16:00:48 GMT+0000 (Coordinated Universal Time) https://codepen.io/pen

@kiritokato #undefined

star

Sun Dec 01 2024 03:55:18 GMT+0000 (Coordinated Universal Time) https://eclecticlight.co/updates-sierra-and-high-sierra/

@Liselot3

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension