Connect with us

Midwest

South Dakota bills criminalizing AI child porn, xylazine, head to Noem's desk

Published

on

South Dakota is poised to update its laws against child sexual abuse images to include those created by artificial intelligence, under a bill headed to Republican Gov. Kristi Noem.

The bill, which is a combined effort by Republican Attorney General Marty Jackley and lawmakers, also includes deepfakes, which are images or videos manipulated to look like a real person.

In an interview, Jackley said some state and local investigations have required federal prosecution because South Dakota’s laws aren’t geared toward AI.

KRISTI NOEM SHARES VISION FOR AMERICA IN NEW BOOK AMID SPECULATION ABOUT RUNNING AS TRUMP’S VP

The bill includes mandatory, minimum prison sentences of one, five and 10 years for first-time offenses of possession, distribution and manufacturing, respectively.

Advertisement

The GOP-held House of Representatives passed the bill with others in a 64-1 vote on Monday. The Republican-supermajority Senate previously passed the bill unanimously.

South Dakota Gov. Kristi Noem takes part in a panel discussion on Nov. 15, 2022, in Orlando, Florida. (AP Photo/Phelan M. Ebenhack, File)

Another bill on Jackley’s legislative agenda also is headed to Noem, to make the animal sedative xylazine a controlled substance.

Last year the Office of National Drug Control Policy designated the combination of xylazine and deadly fentanyl as an ” emerging threat.” Jackley has said xylazine has “become a national epidemic” and has appeared in South Dakota, mainly in Sioux Falls.

Xylazine can cause health problems in humans, including difficulty breathing, dangerously low blood pressure, a slowed heart rate, wounds that can become infected and even death, according to the Centers for Disease Control and Prevention.

Advertisement

The bill, which allows xylazine for veterinary use, would create penalties of up to two years in prison and/or a $4,000 fine for possession and use of xylazine.

The Senate passed the bill unanimously on Monday, after the House did the same last month. The South Dakota Health Department and Jackley brought the bill.

Noem highlighted the xylazine issue in her State of the State address last month.

Read the full article from Here

Advertisement
Continue Reading
Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Wisconsin

Powerful storms move through SE Wisconsin

Published

on

Powerful storms move through SE Wisconsin


Severe storms move through southeast Wisconsin bringing damage and flooding.

Advertisement

Powerful storms move through SE Wisconsin

Severe storms move through southeast Wisconsin bringing damage and flooding.

Advertisement

>> FROM WEATHERWATCH 12. THIS IS A SEVERE WEATHER UPDATE. >> GOOD EVENING. AND WEATHERWATCH 12 CHIEF METEOROLOGIST MARK BADEN NEW SEVERE THUNDERSTORM WARNING AND NEW FLASH FLOOD WARNING TO TALK ABOUT HERE ACROSS SOUTHEASTERN WISCONSIN. SO WE STILL HAVE THIS LINE OF STORMS. THE NEW SEVERE THUNDERSTORM WARNING IS PRETTY MUCH ALL OF WANT TO STOP THIS AND TALK ABOUT THE WARNINGS THAT WE DO HAVE IN PLACE RIGHT NOW. TALK ABOUT THE LATEST WARNING. THAT’S THE SEVERE THUNDERSTORM WARNING FOR WALWORTH COUNTY GOES ALL THE WAY UNTIL 9:00. THE STORMS ARE STILL OUT TO THE WEST. THAT’S GOING TO BRING WITH IT POSSIBLY SOME STRONGER WINDS AND SOME HAIL. THERE’S ALSO A NEW FLASH FLOOD WARNING THAT CONTINUES UNTIL 11:00. I’M GOING TO ZOOM IN ON THIS AREA BECAUSE IT LOOKS A LITTLE IT’S KIND OF HARD TO FIND WHERE THIS IS. LET’S TAKE YOU BACK INTO SOUTHEASTERN WISCONSIN AND WE’LL BRING YOU BACK IN TO THIS AREA THAT WE ARE SEEING HERE. IT’S SO WE’VE GOT THIS LITTLE AREA AND THAT’S ON TOP OF THIS OTHER FLASH FLOOD WARNING. BUT THIS IS THE NEWEST ONE. THIS INCLUDES DOWNTOWN MILWAUKEE. THIS INCLUDES WAUWATOSA AND WEST ALLIS, BROOKFIELD, ELM GROVE AND PEWAUKEE. WHY? BECAUSE WE KEEP GETTING THIS SAME RAIN OVER THE SAME PLACES, GETTING HIT AGAIN AND AGAIN AND AGAIN. ADD UP. WE’RE SEEING SOME FLOODING ISSUES. WE’VE HAD FLOODING ISSUES ALONG I-43 IN NORTHERN MILWAUKEE COUNTY. WE’VE HAD SOME FLOODING ISSUES IN MEQUON, AND I’M SURE WE’RE HAVING FLOODING ISSUES ALSO INTO PARTS OF WASHINGTON COUNTY EXTENDING BACK INTO DODGE COUNTY, WHERE WE CONTINUE TO SEE THIS SAME AREA. THEN THE NEXT PART OF THIS STORM, AGAIN, THIS AREA HASN’T HAD ANY RAIN AT ALL. SO YOU’RE STILL PRIMED FOR THE POSSIBILITY OF MORE SEVERE WEATHER. THAT’S WHAT THIS NEW SEVERE THUNDERSTORM WARNING IS INTO PARTS OF WALWORTH COUNTY. AGAIN, THAT GOES UNTIL 9:00 TONIGHT. AND WE’LL CONTINUE TO SEE THIS HEAVY RAIN. WE NEED TO MAKE IT THROUGH ANOTHER HOUR OR TWO, AND THEN WE SHOULD START SEEING OURSELVES ON THE OTHER SIDE, AT LEAST OF THIS THREAT. BUT IT’S NOT DONE JUST YET. STAY WITH WEATHERWATCH 12. WE’LL CONTINUE TO HAVE UPDATES.

Advertisement

Powerful storms move through SE Wisconsin

Severe storms move through southeast Wisconsin bringing damage and flooding.

Updated: 8:15 PM CDT Apr 14, 2026

Editorial Standards

Advertisement

Severe storms move through southeast Wisconsin bringing damage and flooding.

Severe storms move through southeast Wisconsin bringing damage and flooding.

Advertisement

Advertisement

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

Advertisement

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

Advertisement

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wisn.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wisn.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

Advertisement

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

Advertisement

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

Advertisement

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

`;
}

function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}

function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;

function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});

Advertisement

clickedElement.classList.add(‘open’);
clickedElement.setAttribute(‘aria-selected’, ‘true’);

container.querySelectorAll(‘[data-content-id]’).forEach(function(content) {
content.style.display = ‘none’;
content.setAttribute(‘hidden’, ‘true’);
});

var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}

function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}

var location = { zip: window.DEFAULT_ZIPCODE };

Advertisement

try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}

var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;

if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}

function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;

var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);

Advertisement

if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wisn.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wisn.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}

function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;

var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}

var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}

var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}

Advertisement

var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}

var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}

updateWeatherBackground(weatherData.current.icon_name);
}
}

function updateWeatherBackground(iconName) {
try {
var bgPath = weatherImages.backgrounds[iconName] || weatherImages.backgrounds.unknown;
container.style.backgroundImage=”url(” + bgPath + ‘)’;
} catch (e) {
console.log(‘Error updating weather background:’, e);
}
}

function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;

Advertisement

if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);

for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex

Loading more articles…



Source link

Advertisement
Continue Reading

Detroit, MI

Two Detroit Pistons Facing Uncertain Roles in NBA Playoff Rotation

Published

on

Two Detroit Pistons Facing Uncertain Roles in NBA Playoff Rotation


The Detroit Pistons are expected to have their core rotation set ahead of their NBA playoff adventure – but two players will undoubtedly have question marks based upon their performance in the early rounds.

Cade Cunningham, Duncan Robinson, Ausar Thompson, Tobias Harris, and Jalen Duren will more than likely be the starting five for the Pistons ahead of their first-round tie against the eighth seed, which will be determined from the play-in tournament.

Who are the odd men out?

Advertisement

While Isaiah Stewart and Daniss Jenkins will be Detroit’s first options off the bench, with Caris LeVert, Ron Holland and Javonte Green providing solid minutes, there is a player who will need to get going early, otherwise his minutes could drop unless the Pistons go through injury concerns.

That man is Kevin Huerter.

After a difficult stretch for most of the season, Huerter has finally started to find his rhythm. With the Pistons in need of perimeter shooting, head coach J.B. Bickerstaff may give the veteran guard an opportunity to prove he can consistently knock down shots.

 If he struggles, however, he could face limited minutes after the first round, should the Pistons progress.

Advertisement

Ron Holland could face limited minutes as well

If Huerter finds his groove and perhaps attracts a more increased role, then that could cut into the minutes of Holland and Green, with the latter being the only Piston to appear in every game this season, so it’s unlikely Bickerstaff moves away from him entirely, though a slight dip in playing time is possible.

As for Holland, who averaged around 20 minutes per game, he faces more uncertainty heading into the playoffs due to his limitations in Detroit’s half-court offense. If the team runs into trouble, he could also find himself losing valuable minutes

Holland has averaged 8.2 points in 19.9 minutes this season, shooting a respectable 43% from the floor, but for more minutes and to give Bickerstaff a minutes nightmare, his points production will need to improve.

Advertisement

As for the remaining players, Marcus Sasser and Paul Reed are expected to be out of the playoff rotation, along with Chaz Lanier and Tolu Smith. The only exception could be that Reed provides valuable frontcourt depth and would likely be called upon quickly in the event of injuries or foul trouble. Smith might see some minutes, but will mainly be garbage time.

Advertisement

Meanwhile, two-way players Wendell Moore and Isaac Jones are ineligible to participate in the postseason.

Add us as a preferred source on Google



Source link

Advertisement
Continue Reading

Milwaukee, WI

Milwaukee shooting near 12th and Locust; 20-year-old wounded

Published

on

Milwaukee shooting near 12th and Locust; 20-year-old wounded


Milwaukee Police Department (MPD)

Milwaukee police say a 20-year-old was shot and wounded near 12th and Locust on Tuesday, April 14. 

12th and Locust

Advertisement

What we know:

Officials said the shooting happened around 12:30 p.m. Tuesday. The victim was taken to a hospital for treatment. 

FREE DOWNLOAD: Get breaking news alerts in the FOX LOCAL Mobile app for iOS or Android

Advertisement

Milwaukee police are seeking an unknown shooter.

Call with tips

What you can do:

Advertisement

Anyone with information on this incident is urged to contact Milwaukee police at 414-935-7360 or, to remain anonymous, Crime Stoppers at 414-224-TIPS or the P3 Tips App.

The Source: Information in this post was provided by the Milwaukee Police Department.

Advertisement
Crime and Public SafetyMilwaukeeNews



Source link

Continue Reading

Trending