Snippets Collections
<style> 
/* CHANGE FORM BACKGROUND COLOR */
 html, body, .jb-form.container {
     background-color: #efefef !important;
}
/* END CHANGE FORM BACKGROUND COLOR */
 </style>
function quickSort(arr) {
  if (arr.length == 0) return [];
  let a = [],
    b = [],
    p = arr[0];

  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < p) a.push(arr[i]);
    else b.push(arr[i]);
  }
  return quickSort(a).concat(p, quickSort(b));
}
quickSort(arr);
@media screen and (min-width:767px) {

[data-current-styles*='"customContentWidth": 49'].horizontal-alignment--left {
  .section-background {
  
    width:50% !important;
    z-index:1 !important;
    overflow:visible;
  }
  
  .section-background-overlay {
    opacity:1 !important;
    left:100%;
    right:-100%;
  }
  
   .content-wrapper {
     width: 50%;
     margin-left: 50% !important;
     box-sizing: border-box;
     z-index:1;
  }
  
  .content {
    width:100% !important;
  }
}
  
}

@media screen and (min-width:767px) {

[data-current-styles*='"customContentWidth": 49'].horizontal-alignment--right {
  .section-background {
  
    width:50% !important;
    left:50%;
    z-index:1 !important;
    overflow:visible;
  }
  
  .section-background-overlay {
    opacity:1 !important;
    left:-100%;
    right:100%;
  }
  
   .content-wrapper {
     width: 50%;
     margin-left: 0% !important;
     box-sizing: border-box;
     z-index:1;
  }
  
  .content {
    width:100% !important;
  }
}
  
}
WITH
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Tractor AS(
SELECT 
	SK_Unit_Id,
	Tractor_Code_trimmed,
	Division
FROM ops.tbl_Dim_ICC_Unit
WHERE ETL_Current_Row = 1 
-----------------------------------------------------------------------------------------------------------------------------------------------------------
), DriverCycles AS ( 
SELECT 
	DriverCode, 
	DATEADD( HOUR, -7, CycleStartTimestampUTC ) CycleStart, 
	CASE
		WHEN ResetStartTimestampUTC IS NULL THEN DATEADD( DAY, 7, CycleStartTimestampUTC )  
		ELSE DATEADD( HOUR, -7, ResetStartTimestampUTC ) 
	END ResetStart,
	ResetStartTimestampUTC,
	CASE
		WHEN ResetEndTimestampUTC IS NULL THEN DATEADD( DAY, 7, CycleStartTimestampUTC )  
		ELSE DATEADD( HOUR, -7, ResetEndTimestampUTC ) 
	END ResetEnd, 
	ResetDurationMinutes,  
	ROW_NUMBER () OVER ( PARTITION BY DriverCode ORDER BY CycleStartTimestampUTC DESC ) rownumber
FROM platsci.DriverCycles 
-----------------------------------------------------------------------------------------------------------------------------------------------------------
), Customer AS (
SELECT 
	Customer_Code,
	SK_Customer_ID,
	PU_Area_Code
FROM ops.tbl_Dim_ICC_Customer
WHERE ETL_Current_Row = 1
-----------------------------------------------------------------------------------------------------------------------------------------------------------
), DispatchStops_LoadAt AS (
SELECT 
	CONCAT( ordernumber, '-',  dispatchnumber ) DispatchKey, MAX( StopCustomerCode ) loadat_customer
FROM [mvtebi_dw_ops].[dw_ops].[platsci].[amqp_dispatchstops] 
WHERE stopnumber = 1 AND stopremovedtimestamputc IS NULL 
GROUP BY CONCAT( ordernumber, '-',  dispatchnumber )
-----------------------------------------------------------------------------------------------------------------------------------------------------------
), DispatchStops_DropAt AS(
SELECT 
	CONCAT( ordernumber, '-',  dispatchnumber ) DispatchKey, MAX( StopCustomerCode ) drop_customer, MAX( stopnumber ) stopnumber
FROM [mvtebi_dw_ops].[dw_ops].[platsci].[amqp_dispatchstops]
WHERE stopnumber IN ( 90, 99 ) AND  stopremovedtimestamputc IS NULL
GROUP BY CONCAT( ordernumber, '-',  dispatchnumber )
-----------------------------------------------------------------------------------------------------------------------------------------------------------
), DataGrabber AS( 
SELECT
	CONCAT( City, ' ', State ) DriverHome,
	CONCAT( Order_Num, '-', Dispatch_Num ) DispatchKey,
	Driver_Code,
	Dispatch_Datetime,
	Dispatch_End_Datetime,
	total_miles,
	Loader.Customer_Code Loads,
	Dropper.Customer_Code Dropt,
	CONCAT ( loader.pu_area_code, '-', dropper.PU_AREA_code ) Routeline,
	Tractor_Code_Trimmed Tractor,
	tractor.Division,
	CASE
		WHEN rownumber IS NULL AND  DATEDIFF( MINUTE, Dispatch_Datetime, LEAD( ResetStart, 1 ) OVER ( PARTITION BY Driver_Code ORDER BY Dispatch_Datetime DESC ) ) >= 0 
			THEN LEAD( rownumber, 1 ) OVER ( PARTITION BY Driver_Code ORDER BY Dispatch_Datetime DESC )  
		WHEN rownumber IS NULL AND DATEDIFF( MINUTE, Dispatch_Datetime, LEAD( ResetEnd, 1 ) OVER ( PARTITION BY Driver_Code ORDER BY Dispatch_Datetime DESC ) ) >= 0 
			THEN LAG( rownumber, 1 ) OVER ( PARTITION BY Driver_Code ORDER BY Dispatch_Datetime DESC )
		ELSE rownumber
	END ResetIndex,
	CASE
		WHEN rownumber IS NULL AND  DATEDIFF( MINUTE, Dispatch_Datetime, LEAD( ResetStart, 1 ) OVER ( PARTITION BY Driver_Code ORDER BY Dispatch_Datetime DESC ) ) >= 0 
			THEN 'Lead'
		WHEN rownumber IS NULL AND DATEDIFF( MINUTE, Dispatch_Datetime, LEAD( ResetEnd, 1 ) OVER ( PARTITION BY Driver_Code ORDER BY Dispatch_Datetime DESC ) ) >= 0 
			THEN 'Lag'
		WHEN rownumber IS NOT NULL THEN 'RowNum'
	END ResetType,
	CycleStart,
	ResetStart,
	ResetEnd
FROM ops.tbl_Fact_ICC_Dispatch factdispatch
	LEFT JOIN hr.vw_Dim_ICC_Driver Drvr1
		ON	factdispatch.SK_Driver1_ID = Drvr1.SK_Driver_ID
	LEFT JOIN DriverCycles templedestructor
		ON templedestructor.DriverCode = Drvr1.Driver_Code 
			AND factdispatch.Dispatch_Datetime >= templedestructor.CycleStart 
				AND factdispatch.Dispatch_End_Datetime <= templedestructor.ResetEnd
	LEFT JOIN DispatchStops_LoadAt LoadAt
		ON CONCAT( factdispatch.order_num, '-', factdispatch.Dispatch_Num ) = LoadAt.DispatchKey
	LEFT JOIN DispatchStops_DropAt DropAt
		ON CONCAT( factdispatch.order_num, '-', factdispatch.Dispatch_Num ) = DropAt.DispatchKey
	LEFT JOIN Tractor
		ON factdispatch.SK_Unit_ID = Tractor.SK_Unit_ID
	LEFT JOIN Customer loader
		ON LoadAt.loadat_customer = loader.Customer_Code
	LEFT JOIN Customer dropper
		ON DropAt.drop_customer = dropper.Customer_Code
WHERE
	order_num NOT LIKE 'D%' AND 
	DATEDIFF( DAY, Dispatch_Datetime, CURRENT_TIMESTAMP ) <= 35 AND 
	ForeignCarrier_Flag = 0 
), RowNum AS (
SELECT 
	DispatchKey,
	ROW_NUMBER () OVER ( PARTITION BY Driver_Code, ResetIndex ORDER BY Dispatch_Datetime ASC ) OrderSequence,
	ResetIndex
FROM DataGrabber
WHERE ResetIndex IS NOT NULL

--------------------------------------------------------------------------------------------------
), PivotTable AS (
SELECT
	MAX( DriverHome ) DriverHome,
	MAX( 65 ) Avg_MPH,
	MAX( 30 ) Dwell_Pickup,
	MAX( 45 ) Dwell_Drop,
	Driver_Code,
	ResetIDX,
	MAX( Division ) Division,
	MAX( [1] ) Leg1, MAX( [2] ) Leg2, MAX( [3] ) Leg3, MAX( [4] ) Leg4, MAX( [5] ) Leg5, MAX( [6] ) Leg6, MAX( [7] ) Leg7, MAX( [8] ) Leg8,
	ISNULL( MAX( [1-a] ), 0 ) DriveTime_Leg1, ISNULL( MAX( [2-a] ), 0 ) DriveTime_Leg2, ISNULL( MAX( [3-a] ), 0 ) DriveTime_Leg3, ISNULL( MAX( [4-a] ), 0 ) DriveTime_Leg4,
		ISNULL( MAX( [5-a] ), 0 ) DriveTime_Leg5, ISNULL( MAX( [6-a] ), 0 ) DriveTime_Leg6, ISNULL( MAX( [7-a] ), 0 ) DriveTime_Leg7, ISNULL( MAX( [8-a] ), 0 ) DriveTime_Leg8
FROM  (
		SELECT
			DataGrabber.DriverHome,
			Division,
			Driver_Code,
			Routeline,
			Total_Miles,
			Dispatch_Datetime,
			Dispatch_End_Datetime,
			DataGrabber.ResetIndex ResetIDX,
			OrderSequence,
			CONCAT( OrderSequence, '-', 'a' ) OS_a
		FROM DataGrabber
			LEFT JOIN RowNum 
				ON DataGrabber.DispatchKey = RowNum.DispatchKey
		WHERE DataGrabber.ResetIndex IS NOT NULL
		)																												AS DerivedTable
		PIVOT( MAX( Routeline ) 
			FOR OrderSequence IN ( [1], [2], [3], [4], [5], [6], [7], [8] ) 
			)																											AS PivotA 
		PIVOT( MAX( Total_Miles ) 
			FOR OS_A IN ( [1-a], [2-a], [3-a], [4-a], [5-a], [6-a], [7-a], [8-a] ) 
			)																											AS PivotB  
GROUP BY Driver_Code, ResetIDX
)
SELECT 
    Division,
	DriverHome,
	ResetIDX CycleNumber,
	Driver_Code DriverCode,
	CASE
		WHEN Leg8 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2, '/', Leg3, '/', Leg4, '/', Leg5, '/', Leg6, '/', Leg7, '/', Leg8 ) 
		WHEN Leg7 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2, '/', Leg3, '/', Leg4, '/', Leg5, '/', Leg6, '/', Leg7 )
		WHEN Leg6 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2, '/', Leg3, '/', Leg4, '/', Leg5, '/', Leg6 )
		WHEN Leg5 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2, '/', Leg3, '/', Leg4, '/', Leg5 )
		WHEN Leg4 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2, '/', Leg3, '/', Leg4 )
		WHEN Leg3 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2, '/', Leg3 )
		WHEN Leg2 IS NOT NULL THEN CONCAT( Leg1, '/', Leg2 )
		ELSE Leg1
	END Circuit,
	DriveTime_Leg1, DriveTime_Leg2, DriveTime_Leg3, DriveTime_Leg4, DriveTime_Leg5, DriveTime_Leg6, DriveTime_Leg7, DriveTime_Leg8,
	DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 + DriveTime_Leg5 + DriveTime_Leg6 + DriveTime_Leg7 + DriveTime_Leg8 Circuit_Miles,
	CAST( ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 + DriveTime_Leg5 + DriveTime_Leg6 + DriveTime_Leg7 + DriveTime_Leg8 ) / 660 AS INT ) AS Recap_Count,
--	( ( ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 ) / 660 ) - CAST( ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 ) / 660 AS INT ) ) * 11  DriveClock_Remainder,
	70 - ( ( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 + DriveTime_Leg3*.9231 + DriveTime_Leg4*.9231 ) / 60 ) CycleClock_Remainder,
	( ( 600 * CAST( DriveTime_Leg1*.9231 / 660 AS INT ) ) + ( DriveTime_Leg1*.9231 ) + ( 1 * ( Dwell_Pickup + Dwell_Drop ) ) ) / 60  ETA1,
	( ( 600 * CAST( ( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 ) / 660 AS INT ) ) + ( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 ) + ( 2 * ( Dwell_Pickup + Dwell_Drop ) ) ) / 60 ETA2,
	( ( 600 * CAST( ( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 + DriveTime_Leg3*.9231 ) / 660 AS INT ) ) + ( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 + DriveTime_Leg3*.9231 ) + ( 3 * ( Dwell_Pickup + Dwell_Drop ) ) ) / 60 ETA3,
	( ( 600 * CAST( ( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 + DriveTime_Leg3*.9231 + DriveTime_Leg4*.9231 ) / 660 AS INT ) ) + 
	( DriveTime_Leg1*.9231 + DriveTime_Leg2*.9231 + DriveTime_Leg3*.9231 + DriveTime_Leg4*.9231 ) + ( 4 * ( Dwell_Pickup + Dwell_Drop ) ) ) / 60 ETA4,
	CASE
		WHEN DriveTime_Leg1 >= 660 THEN Leg1
		WHEN DriveTime_Leg1 + DriveTime_Leg2 >= 660 THEN CONCAT( Leg1, ' / ', Leg2 ) 
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 660 THEN CONCAT( Leg1, ' / ', Leg2, ' / ', Leg3 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 660 THEN CONCAT( Leg1, ' / ', Leg2, ' / ', Leg3, ' / ', Leg4 )
	END Recap1,
	CASE
		WHEN DriveTime_Leg1 >= 660 THEN ( DriveTime_Leg1 - 660 ) / Avg_MPH
		WHEN DriveTime_Leg1 + DriveTime_Leg2 >= 660 THEN ( DriveTime_Leg1 + DriveTime_Leg2 - 660 ) / Avg_MPH
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 660 THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 - 660 ) / Avg_MPH
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 660 THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 - 660 ) / Avg_MPH
	END R1_MilesRemain,
	CASE
		WHEN DriveTime_Leg1 >= 1320 THEN Leg1
		WHEN DriveTime_Leg1 >= 660 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1320 THEN CONCAT( Leg1, ' / ', Leg2 )
		WHEN DriveTime_Leg1 >= 660  AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1320 THEN CONCAT( Leg1, ' / ', Leg2, ' / ', Leg3 )
		WHEN DriveTime_Leg1 >= 660  AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1320 THEN CONCAT( Leg1, ' / ', Leg2, ' / ', Leg3, ' / ', Leg4 )
		WHEN DriveTime_Leg1 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1320 THEN Leg2
		WHEN DriveTime_Leg1 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1320 THEN CONCAT( Leg2, ' / ', Leg3 )
		WHEN DriveTime_Leg1 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1320 THEN CONCAT( Leg2, ' / ', Leg3, ' / ', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1320 THEN Leg3
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1320 THEN CONCAT( Leg3, ' / ', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1320 THEN Leg4 
	END Recap2,
	CASE		
		WHEN DriveTime_Leg1 >= 1320 THEN ( DriveTime_Leg1 - 1320 ) / Avg_MPH
		WHEN ( DriveTime_Leg1 >= 660 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1320 ) 
				OR( DriveTime_Leg1 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1320 ) 
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 - 1320 ) / Avg_MPH
		WHEN ( DriveTime_Leg1 >= 660  AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1320 ) 
				OR( DriveTime_Leg1 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1320 )
				OR(DriveTime_Leg1 + DriveTime_Leg2 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1320 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 - 1320 ) / Avg_MPH
		WHEN ( DriveTime_Leg1 >= 660  AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1320 )
				OR( DriveTime_Leg1 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1320 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 660 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1320 ) 
				OR( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1320 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 - 1320 ) / Avg_MPH
	END R2_MilesRemain,
	CASE
		WHEN DriveTime_Leg1 >= 1980 THEN Leg1
		WHEN DriveTime_Leg1 > 1320 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1980 THEN CONCAT( Leg1, '/', Leg2 )
		WHEN DriveTime_Leg1 > 1320 AND DriveTime_Leg1 + DriveTime_Leg2 <= 1980 THEN CONCAT ( Leg1, '/', Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 < 1320 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1980 THEN Leg2
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1980 THEN CONCAT( Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1980 THEN CONCAT( Leg2, ' / ', Leg3, ' / ', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1980 THEN Leg3
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1980 THEN CONCAT( Leg3, ' / ', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1320 THEN Leg4
	END Recap3,
	CASE
		WHEN DriveTime_Leg1 >= 1980 THEN ( DriveTime_Leg1 - 1980 ) / Avg_MPH 
		WHEN ( DriveTime_Leg1 > 1320 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1980 )
				OR( DriveTime_Leg1 < 1320 AND DriveTime_Leg1 + DriveTime_Leg2 >= 1980 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 - 1980 ) / Avg_MPH 
		WHEN ( DriveTime_Leg1 > 1320 AND DriveTime_Leg1 + DriveTime_Leg2 <= 1980 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1980 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 1980 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 - 1980 ) / Avg_MPH 
		WHEN ( DriveTime_Leg1 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1980 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 1320 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 1980 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1320 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 - 1980 ) / Avg_MPH
	END R3_MilesRemain,
	CASE
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 < 1980 THEN NULL
		WHEN DriveTime_Leg1 >= 2640 THEN Leg1
		WHEN DriveTime_Leg1 >= 1980 AND ( DriveTime_Leg1 + DriveTime_Leg2 ) >= 2640 THEN CONCAT( Leg1, '/', Leg2 ) 
		WHEN DriveTime_Leg1 >= 1980 AND ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 ) >= 2640 THEN CONCAT ( Leg1, '/', Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 >= 2640 THEN Leg2
		WHEN DriveTime_Leg1 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 2640 THEN CONCAT( Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 2640 THEN CONCAT( Leg2, ' / ', Leg3, ' / ', Leg4 ) 
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 2640  THEN Leg3
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 2640 THEN CONCAT( Leg3, '/', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1980 THEN Leg4
	END Recap4,
	CASE
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 < 1980 THEN NULL
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 <= 2640 THEN 0
		WHEN DriveTime_Leg1 >= 2640 THEN DriveTime_Leg1 - 2640
		WHEN ( DriveTime_Leg1 >= 1980 AND ( DriveTime_Leg1 + DriveTime_Leg2 ) >= 2640 )
				OR( DriveTime_Leg1 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 >= 2640 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 ) - 2640
		WHEN ( DriveTime_Leg1 >= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 2640 )
				OR( DriveTime_Leg1 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 2640 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 2640 )
			THEN (DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 ) - 2640
		WHEN ( DriveTime_Leg1 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 2640 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 1980 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 2640 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 1980 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 ) - 2640
	END R4_MilesRemain,
	CASE
		WHEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 <= 2640 )
				OR ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 BETWEEN 2640 AND 3300 )
			THEN NULL 
		WHEN DriveTime_Leg1 >= 3300 THEN Leg1
		WHEN DriveTime_Leg1 >= 2640 AND ( DriveTime_Leg1 + DriveTime_Leg2 ) >= 3300 THEN CONCAT( Leg1, '/', Leg2 ) 
		WHEN DriveTime_Leg1 >= 2640 AND ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 ) >= 3300  THEN CONCAT ( Leg1, '/', Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 >= 3300  THEN Leg2
		WHEN DriveTime_Leg1 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3300  THEN CONCAT( Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 3300 THEN CONCAT( Leg2, ' / ', Leg3, ' / ', Leg4 ) 
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3300 THEN Leg3
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 3300 THEN CONCAT( Leg3, '/', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 2640 THEN Leg4
	END Recap5,
	CASE
		WHEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 <= 2640 )
				OR ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 BETWEEN 2640 AND 3300 )
			THEN NULL
		WHEN DriveTime_Leg1 >= 3300 THEN DriveTime_Leg1 - 3300
		WHEN ( DriveTime_Leg1 >= 2640 AND ( DriveTime_Leg1 + DriveTime_Leg2 ) >= 3300 )
				OR( DriveTime_Leg1 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 >= 3300 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 ) - 3300
		WHEN ( DriveTime_Leg1 >= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3300 )
				OR( DriveTime_Leg1 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3300 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3300 )
			THEN (DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 ) - 3300
		WHEN ( DriveTime_Leg1 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 3300 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 2640 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 3300 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 2640 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 ) - 3300
	END R5_MilesRemain,
	CASE
		WHEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 <= 3300 )
				OR ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 BETWEEN 3300 AND 3960 )
			THEN NULL
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 3300 THEN Leg4
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 3960 THEN CONCAT( Leg3, '/', Leg4 )
		WHEN DriveTime_Leg1 + DriveTime_Leg2 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3960 THEN Leg3
		WHEN DriveTime_Leg1 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 3960 THEN CONCAT( Leg2, ' / ', Leg3, ' / ', Leg4 ) 
		WHEN DriveTime_Leg1 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3960 THEN CONCAT( Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 >= 3960 THEN Leg2
		WHEN DriveTime_Leg1 >= 3300 AND ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 ) >= 3960 THEN CONCAT ( Leg1, '/', Leg2, '/', Leg3 )
		WHEN DriveTime_Leg1 >= 3300 AND ( DriveTime_Leg1 + DriveTime_Leg2 ) >= 3960 THEN CONCAT( Leg1, '/', Leg2 )
		WHEN DriveTime_Leg1 BETWEEN 3300 AND 3960 THEN Leg1
	END Recap6,
	CASE
		WHEN DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 < 3960 THEN NULL
		WHEN ( DriveTime_Leg1 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 >= 3960 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 3960 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 <= 3300 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 + DriveTime_Leg4 ) - 3960
		WHEN ( DriveTime_Leg1 >= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3960 )
				OR( DriveTime_Leg1 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3960 )
				OR( DriveTime_Leg1 + DriveTime_Leg2 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 >= 3960 )
			THEN (DriveTime_Leg1 + DriveTime_Leg2 + DriveTime_Leg3 ) - 3960
		WHEN ( DriveTime_Leg1 >= 3300 AND ( DriveTime_Leg1 + DriveTime_Leg2 ) >= 3960 )
				OR( DriveTime_Leg1 <= 3300 AND DriveTime_Leg1 + DriveTime_Leg2 >= 3960 )
			THEN ( DriveTime_Leg1 + DriveTime_Leg2 ) - 3960
		WHEN DriveTime_Leg1 BETWEEN 3300 AND 3960 THEN DriveTime_Leg1 - 3960
	END R6_MilesRemain
FROM PivotTable
WHERE Division IS NOT NULL AND Division NOT IN ( '190', '290', '390', '490' )
ORDER BY Division, Driver_Code, ResetIDX
;




/*
SELECT 
 Driver_Code,
 ResetIndex,
 ISNULL( MAX( Leg1 ), 0 ) Leg1,
 ISNULL( MAX( Leg1 ), 0 ) Leg2,
 ISNULL( MAX( Leg1 ), 0 ) Leg3,
 ISNULL( MAX( Leg1 ), 0 ) Leg4,
 ISNULL( MAX( Leg1 ), 0 ) Leg5,
 ISNULL( MAX( Miles_Leg1 ), 0 ) MilesLeg1,
 ISNULL( MAX( Miles_Leg1 ), 0 ) MilesLeg2,
 ISNULL( MAX( Miles_Leg1 ), 0 ) MilesLeg3,
 ISNULL( MAX( Miles_Leg1 ), 0 ) MilesLeg4,
 ISNULL( MAX( Miles_Leg1 ), 0 ) MilesLeg5
FROM
(
SELECT 
	Driver_Code,
	DriverHome,
	rownum.ResetIndex,
	CASE WHEN OrderSequence = 1 THEN Routeline END Leg1,
	CASE WHEN OrderSequence = 2 THEN Routeline END Leg2,
	CASE WHEN OrderSequence = 3 THEN Routeline END Leg3,
	CASE WHEN OrderSequence = 4 THEN Routeline END Leg4,
	CASE WHEN OrderSequence = 5 THEN Routeline END Leg5,
	CASE WHEN OrderSequence = 1 THEN Total_Miles END Miles_Leg1,
	CASE WHEN OrderSequence = 2 THEN Total_Miles END Miles_Leg2,
	CASE WHEN OrderSequence = 3 THEN Total_Miles END Miles_Leg3,
	CASE WHEN OrderSequence = 4 THEN Total_Miles END Miles_Leg4,
	CASE WHEN OrderSequence = 5 THEN Total_Miles END Miles_Leg5
FROM DataGrabber
	LEFT JOIN RowNum 
		ON DataGrabber.DispatchKey = RowNum.DispatchKey
WHERE DataGrabber.ResetIndex IS NOT NULL
)																	AS pivotcalls
GROUP BY Driver_Code, ResetIndex
ORDER BY Driver_Code, ResetIndex

*/
var open = window.XMLHttpRequest.prototype.open,
  send = window.XMLHttpRequest.prototype.send;
function openReplacement(method, url, async, user, password) {
  this._url = url;
  return open.apply(this, arguments);
}
function sendReplacement(data) {
  if(this.onreadystatechange) {
    this._onreadystatechange = this.onreadystatechange;
  }
  /**
   * PLACE HERE YOUR CODE WHEN REQUEST IS SENT  
   */
  this.onreadystatechange = onReadyStateChangeReplacement;
  return send.apply(this, arguments);
}
function onReadyStateChangeReplacement() {
  /**
   * PLACE HERE YOUR CODE FOR READYSTATECHANGE
   */
  if(this._onreadystatechange) {
    return this._onreadystatechange.apply(this, arguments);
  }
}
window.XMLHttpRequest.prototype.open = openReplacement;
window.XMLHttpRequest.prototype.send = sendReplacement;

// https://dmitripavlutin.com/catch-the-xmlhttp-request-in-plain-javascript/
<div *ngFor="let item of object | keyvalue">
  {{item.key}}:{{item.value}}
</div>
// Maps in Sass hold pairs of keys and values, and make it easy to look up a value by its corresponding key. They’re written (<expression>: <expression>, <expression>: <expression>). A map with no pairs is written ().


$font-weights: (
  "light": 200,
  "regular": 400, 
  "medium": 500, 
  "bold": 700
);

// YOU NEED A FUNCTION TO RUN AN MAP
@function fontWeight($weight){
  @return map-get($font-weights, $weight);
}

// => IN USE 
// OBS! måste använda ""

p {
 font-weight: fontWeight("bold");
}
### react ###
.DS_*
*.log
logs
**/*.backup.*
**/*.back.*

node_modules
bower_components

*.sublime*

psd
thumb
sketch
	const formattedAmount = parseInt(transactionInfo?.data.amount)
		.toFixed(2)
		.replace(/\d(?=(\d{3})+\.)/g, "$&,");

// Only parse if number comes as string initially

OR

		(2501500).toLocaleString("en-US", {
			style: "currency",
			currency: "USD",
		})
    /** @var \Drupal\bacademy_cpd\Entity\CpdPoints $cpd_record */
    foreach ($cpd_records as $cpd_record) {
      $completed_node = $cpd_record->get('node')->entity;
      /** @var \Drupal\node\Entity\Node $completed_node */
      $completed_nodeID = $completed_node->get('nid')->value;
Private Sub Select_Sector()

Dim rs As DAO.Recordset

Dim RegEx As Object
Set RegEx = CreateObject("vbscript.regexp")

Dim qdef As QueryDef
Set qdef = getCurrentDb.QueryDefs("qry_Select_Sector")
qdef.Connect = CurrentDb.TableDefs("BOCClientIndex").Connect


RegEx.Pattern = "IIf\(\[ServiceStatus\]=3,30,20\)\)=([0-9]+)"
qdef.SQL = RegEx.Replace(qdef.SQL, "IIf([ServiceStatus]=3,30,20))=" & [Forms]![MainMenu_Services]![SelectedStatusIndicator])

RegEx.Pattern = "\(View_qryServiceProviderOrganisationalStructure\.SectorCode\)=([0-9]+)"
qdef.SQL = RegEx.Replace(qdef.SQL, "(View_qryServiceProviderOrganisationalStructure.SectorCode)=" & [Forms]![MainMenu_Services]![SectorCode])


'For Testing purposes only - Do not use in production code
Set rs = qdef.OpenRecordset

Dim i As Long
For i = 0 To rs.Fields.Count - 1
        Debug.Print rs.Fields(i).Name,
    Next
    rs.MoveFirst
    Do Until rs.EOF
        Debug.Print
        For i = 0 To rs.Fields.Count - 1
            Debug.Print rs.Fields(i).value,
        Next
        rs.MoveNext
    Loop
End Sub
<div class="product-template__container page-width"
  id="ProductSection-{{ section.id }}"
  data-section-id="{{ section.id }}"
  data-section-type="product"
  data-enable-history-state="true"
  data-ajax-enabled="{{ settings.enable_ajax }}"
>
  {% comment %}
    Get first variant, or deep linked one
  {% endcomment %}
  {%- assign current_variant = product.selected_or_first_available_variant -%}
  {%- assign product_image_zoom_size = '1024x1024' -%}
  {%- assign product_image_scale = '2' -%}
  {%- assign enable_image_zoom = section.settings.enable_image_zoom -%}
  {%- assign compare_at_price = current_variant.compare_at_price -%}
  {%- assign price = current_variant.price -%}

  {% case section.settings.media_size %}
    {% when 'small' %}
      {%- assign product_media_width = 'medium-up--one-third' -%}
      {%- assign product_description_width = 'medium-up--two-thirds' -%}
      {%- assign height = 345 -%}
    {% when 'medium' %}
      {%- assign product_media_width = 'medium-up--one-half' -%}
      {%- assign product_description_width = 'medium-up--one-half' -%}
      {%- assign height = 530 -%}
    {% when 'large' %}
      {%- assign product_media_width = 'medium-up--two-thirds' -%}
      {%- assign product_description_width = 'medium-up--one-third' -%}
      {%- assign height = 720 -%}
    {% when 'full' %}
      {%- assign product_media_width = '' -%}
      {%- assign product_description_width = '' -%}
      {%- assign height = 1090 -%}
      {%- assign enable_image_zoom = false -%}
  {% endcase %}

  <div class="grid product-single{% if section.settings.enable_payment_button %} product-single--{{ section.settings.media_size }}-media{% endif %}">
    <div class="grid__item product-single__media-group {{ product_media_width }}{% if section.settings.media_size == 'full' %} product-single__media-group--full{% endif %}" data-product-single-media-group>
      {%- assign featured_media = product.selected_or_first_available_variant.featured_media | default: product.featured_media -%}

      {%- for media in product.media -%}
        {% include 'media', media: media, featured_media: featured_media, height: height, enable_image_zoom: enable_image_zoom, image_zoom_size: product_image_zoom_size, image_scale: product_image_scale %}
      {%- endfor -%}

      <noscript>
        {% capture product_image_size %}{{ height }}x{% endcapture %}
        <img src="{{ featured_media | img_url: product_image_size, scale: product_image_scale }}" alt="{{ featured_media.alt }}" id="FeaturedMedia-{{ section.id }}" class="product-featured-media" style="max-width: {{ height }}px;">
      </noscript>

      {% assign first_3d_model = product.media | where: "media_type", "model" | first %}

      {%- if first_3d_model -%}
        <button
          aria-label="{{ 'products.product.view_in_space_label' | t }}"
          class="product-single__view-in-space"
          data-shopify-xr
          data-shopify-model3d-id="{{ first_3d_model.id }}"
          data-shopify-title="{{ product.title | escape }}"
          data-shopify-xr-hidden
        >
          {% include 'icon-3d-badge-full-color' %}<span class='product-single__view-in-space-text'>{{ 'products.product.view_in_space' | t }}</span>
        </button>
      {%- endif -%}


      {% if product.media.size > 1 %}
        {% if product.media.size > 4 %}
          {%- assign enable_thumbnail_slides = true -%}
        {% endif %}

        <div class="thumbnails-wrapper{% if enable_thumbnail_slides == true %} thumbnails-slider--active{% endif %}">
          {% if enable_thumbnail_slides == true %}
            <button type="button" class="btn btn--link medium-up--hide thumbnails-slider__btn thumbnails-slider__prev thumbnails-slider__prev--{{ section.id }}">
              {% include 'icon-chevron-left' %}
              <span class="icon__fallback-text">{{ 'sections.slideshow.previous_slide' | t }}</span>
            </button>
          {% endif %}
          <ul class="product-single__thumbnails product-single__thumbnails-{{ section.id }}">
            {% for media in product.media %}
              <li class="product-single__thumbnails-item product-single__thumbnails-item--{{ section.settings.media_size }} js">
                <a href="{{ media.preview_image | img_url: product_image_zoom_size, scale: product_image_scale }}"
                   class="text-link product-single__thumbnail product-single__thumbnail--{{ section.id }}"
                   data-thumbnail-id="{{ section.id }}-{{ media.id }}"
                   {% if enable_image_zoom %}data-zoom="{{ media.preview_image | img_url: product_image_zoom_size, scale: product_image_scale }}"{% endif %}>

                    {%- capture thumbnailAlt -%}
                      {%- if media.media_type == 'video' or media.media_type == 'external_video' -%}
                        {{ 'sections.featured_product.video_thumbnail_alt' | t: imageAlt: media.alt | escape }}
                      {%- elsif media.media_type == 'model' -%}
                        {{ 'sections.featured_product.model_thumbnail_alt' | t: imageAlt: media.alt | escape }}
                      {%- else -%}
                        {{ 'sections.featured_product.gallery_thumbnail_alt' | t: imageAlt: media.alt | escape }}
                      {%- endif -%}
                    {%- endcapture -%}

                    <img class="product-single__thumbnail-image" src="{{ media.preview_image | img_url: '110x110', scale: 2 }}" alt="{{ thumbnailAlt }}">
                    {%- if media.media_type == 'video' or media.media_type =='external_video' -%}
                      <div class="product-single__thumbnail-badge">
                        {% include 'icon-video-badge-full-color' %}
                      </div>
                    {%- endif -%}
                    {%- if media.media_type == 'model' -%}
                      <div class="product-single__thumbnail-badge">
                        {% include 'icon-3d-badge-full-color' %}
                      </div>
                    {%- endif -%}
                </a>
              </li>
            {% endfor %}
          </ul>
          {% if enable_thumbnail_slides == true %}
            <button type="button" class="btn btn--link medium-up--hide thumbnails-slider__btn thumbnails-slider__next thumbnails-slider__next--{{ section.id }}">
              {% include 'icon-chevron-right' %}
              <span class="icon__fallback-text">{{ 'sections.slideshow.next_slide' | t }}</span>
            </button>
          {% endif %}
        </div>
      {% endif %}
    </div>

    <div class="grid__item {{ product_description_width }}">
      <div class="product-single__meta">

        <h1 class="product-single__title">{{ product.title }}</h1>
{% comment %}Start automatically added Judge.me widget{% endcomment %}
  {% render 'judgeme_widgets', widget_type: 'judgeme_preview_badge', concierge_install: true, product: product %}
{% comment %}End automatically added Judge.me widget{% endcomment %}


          <div class="product__price">
            {% include 'product-price', variant: current_variant, show_vendor: section.settings.show_vendor %}
          </div>

          {%- if shop.taxes_included or shop.shipping_policy.body != blank -%}
            <div class="product__policies rte" data-product-policies>
              {%- if shop.taxes_included -%}
                {{ 'products.product.include_taxes' | t }}
              {%- endif -%}
              {%- if shop.shipping_policy.body != blank -%}
                {{ 'products.product.shipping_policy_html' | t: link: shop.shipping_policy.url }}
              {%- endif -%}
            </div>
          {%- endif -%}

          {% capture "form_classes" -%}
            product-form product-form-{{ section.id }}
            {%- unless section.settings.show_variant_labels %} product-form--hide-variant-labels {% endunless %}
            {%- if section.settings.enable_payment_button and product.has_only_default_variant %} product-form--payment-button-no-variants {%- endif -%}
            {%- if current_variant.available == false %} product-form--variant-sold-out {%- endif -%}
          {%- endcapture %}

          {% form 'product', product, class:form_classes, novalidate: 'novalidate', data-product-form: '' %}
            {% unless product.has_only_default_variant %}
              {% for option in product.options_with_values %}
                <label {% if option.name == 'default' %}class="label--hidden" {% endif %}for="SingleOptionSelector-{{ forloop.index0 }}">
                  {{ option.name }}
                </label>
                {% assign option_position = forloop.index %}
                <fieldset>
                  {%- for value in option.values -%}
                      <input type="radio" class="single-option-selector-{{ section.id }} variant-option"
                        {% if option.selected_value == value %} checked="checked"{% endif %}
                        value="{{ value | escape }}"
                        data-index="option{{option_position}}"
                        name="{{ option.name | handleize }}"
                        id="SingleOptionSelector-{{option_position}}>
                      <label for="SingleOptionSelector-{{ forloop.index0 }}">
                        {{value}}
                      </label>
                  {%- endfor -%}
                </fieldset>
              {% endfor %}
            {% endunless %}

            <select name="id" id="ProductSelect-{{ section.id }}" class="product-form__variants no-js">
              {% for variant in product.variants %}
                <option value="{{ variant.id }}"
                  {%- if variant == current_variant %} selected="selected" {%- endif -%}
                >
                  {{ variant.title }}  {%- if variant.available == false %} - {{ 'products.product.sold_out' | t }}{% endif %}
                </option>
              {% endfor %}
            </select>

            {% if section.settings.show_quantity_selector %}
              <div class="product-form__controls-group">
                <div class="product-form__item">
                  <label for="Quantity-{{ section.id }}">{{ 'products.product.quantity' | t }}</label>
                  <input type="number" id="Quantity-{{ section.id }}"
                    name="quantity" value="1" min="1" pattern="[0-9]*"
                    class="product-form__input product-form__input--quantity" data-quantity-input
                  >
                </div>
              </div>
            {% endif %}

            <div class="product-form__error-message-wrapper product-form__error-message-wrapper--hidden{% if section.settings.enable_payment_button %} product-form__error-message-wrapper--has-payment-button{% endif %}"
              data-error-message-wrapper
              role="alert"
            >
              <span class="visually-hidden">{{ 'general.accessibility.error' | t }} </span>
              {% include 'icon-error' %}
              <span class="product-form__error-message" data-error-message>{{ 'products.product.quantity_minimum_message' | t }}</span>
            </div>

            <div class="product-form__controls-group product-form__controls-group--submit">
              <div class="product-form__item product-form__item--submit
                {%- if section.settings.enable_payment_button %} product-form__item--payment-button {%- endif -%}
                {%- if product.has_only_default_variant %} product-form__item--no-variants {%- endif -%}"
              >
                <button type="submit" name="add"
                  {% unless current_variant.available %} aria-disabled="true"{% endunless %}
                  aria-label="{% unless current_variant.available %}{{ 'products.product.sold_out' | t }}{% else %}{{ 'products.product.add_to_cart' | t }}{% endunless %}"
                  class="btn product-form__cart-submit{% if section.settings.enable_payment_button %} btn--secondary-accent{% endif %}"
                  {% if settings.enable_ajax %}aria-haspopup="dialog"{% endif %}
                  data-add-to-cart>
                  <span data-add-to-cart-text>
                    {% unless current_variant.available %}
                      {{ 'products.product.sold_out' | t }}
                    {% else %}
                      {{ 'products.product.add_to_cart' | t }}
                    {% endunless %}
                  </span>
                  <span class="hide" data-loader>
                    {% include 'icon-spinner' %}
                  </span>
                </button>
                {% if section.settings.enable_payment_button %}
                  {{ form | payment_button }}
                {% endif %}
              </div>
            </div>
          {% endform %}
        </div>

        {%- comment -%}
          Live region for announcing updated price and availability to screen readers
        {%- endcomment -%}
        <p class="visually-hidden" data-product-status
          aria-live="polite"
          role="status"
        ></p>

        {%- comment -%}
          Live region for announcing that the product form has been submitted and the
          product is in the process being added to the cart
        {%- endcomment -%}
        <p class="visually-hidden" data-loader-status
          aria-live="assertive"
          role="alert"
          aria-hidden="true"
        >{{ 'products.product.loader_label' | t }}</p>

        <div class="product-single__description rte">
          {{ product.description }}
        </div>

        {% if section.settings.show_share_buttons %}
          {% include 'social-sharing', share_title: product.title, share_permalink: product.url, share_image: product.featured_media %}
        {% endif %}
    </div>
  
{% comment %}Start automatically added Judge.me widget{% endcomment %}
  {% render 'judgeme_widgets', widget_type: 'judgeme_review_widget', concierge_install: true, product: product %}
{% comment %}End automatically added Judge.me widget{% endcomment %}
</div>
</div>

{% unless product == empty %}
  <script type="application/json" id="ProductJson-{{ section.id }}">
    {{ product | json }}
  </script>
  <script type="application/json" id="ModelJson-{{ section.id }}">
    {{ product.media | where: 'media_type', 'model' | json }}
  </script>
{% endunless %}



{% schema %}
{
  "name": {
    "da": "Produktsider",
    "de": "Produktseiten",
    "en": "Product pages",
    "es": "Páginas de productos",
    "fi": "Tuotesivut",
    "fr": "Pages de produits",
    "hi": "उत्पाद पेज",
    "it": "Pagine di prodotto",
    "ja": "商品ページ",
    "ko": "제품 페이지",
    "nb": "Produktsider",
    "nl": "Productpagina's",
    "pt-BR": "Páginas de produtos",
    "pt-PT": "Páginas de produtos",
    "sv": "Produktsidor",
    "th": "หน้าสินค้า",
    "zh-CN": "产品页面",
    "zh-TW": "產品頁面"
  },
  "settings": [
    {
      "type": "checkbox",
      "id": "show_quantity_selector",
      "label": {
        "da": "Vis antalsvælger",
        "de": "Mengenauswahl anzeigen",
        "en": "Show quantity selector",
        "es": "Mostrar selector de cantidad",
        "fi": "Näytä määrän valitsin",
        "fr": "Afficher le sélecteur de quantité",
        "hi": "मात्रा चयनकर्ता दिखाएं",
        "it": "Mostra selettore quantità",
        "ja": "数量セレクターを表示する",
        "ko": "수량 선택기 표시",
        "nb": "Vis mengdevelger",
        "nl": "Hoeveelheidskiezer weergeven",
        "pt-BR": "Exibir seletor de quantidade",
        "pt-PT": "Mostrar um seletor de quantidade",
        "sv": "Visa kvantitetsväljare",
        "th": "แสดงตัวเลือกจำนวน",
        "zh-CN": "显示数量选择器",
        "zh-TW": "顯示數量選擇器"
      },
      "default": false
    },
    {
      "type": "checkbox",
      "id": "show_variant_labels",
      "label": {
        "da": "Vis variantlabels",
        "de": "Varianten-Etiketten anzeigen",
        "en": "Show variant labels",
        "es": "Mostrar etiquetas de variantes",
        "fi": "Näytä vaihtoehtoiset tarrat",
        "fr": "Afficher le nom des variantes",
        "hi": "वेरिएंट लेबल दिखाएं",
        "it": "Mostra etichette varianti",
        "ja": "バリエーションのラベルを表示する",
        "ko": "이형 상품 레이블 표시",
        "nb": "Vis variantetiketter",
        "nl": "Variantlabels weergeven",
        "pt-BR": "Exibir etiquetas de variantes",
        "pt-PT": "Mostrar etiquetas de variantes",
        "sv": "Visa variantetiketter",
        "th": "แสดงป้ายกำกับตัวเลือกสินค้า",
        "zh-CN": "显示多属性标签",
        "zh-TW": "顯示子類選項標籤"
      },
      "default": true
    },
    {
      "type": "checkbox",
      "id": "show_vendor",
      "label": {
        "da": "Vis leverandør",
        "de": "Lieferanten anzeigen",
        "en": "Show vendor",
        "es": "Mostrar proveedor",
        "fi": "Näytä myyjä",
        "fr": "Afficher les vendeurs",
        "hi": "विक्रेता दिखाएं",
        "it": "Mostra fornitore",
        "ja": "販売元を表示する",
        "ko": "공급업체 표시",
        "nb": "Vis leverandør",
        "nl": "Leverancier weergeven",
        "pt-BR": "Exibir fornecedor",
        "pt-PT": "Mostrar fornecedor",
        "sv": "Visa säljare",
        "th": "แสดงผู้ขาย",
        "zh-CN": "显示厂商",
        "zh-TW": "顯示廠商"
      },
      "default": false
    },
    {
      "type": "checkbox",
      "id": "enable_payment_button",
      "label": {
        "da": "Vis dynamisk betalingsknap",
        "de": "Dynamischen Checkout Button anzeigen",
        "en": "Show dynamic checkout button",
        "es": "Mostrar botón de pago dinámico",
        "fi": "Näytä dynaaminen kassapainike",
        "fr": "Afficher le bouton de paiement dynamique",
        "hi": "डायनेमिक चेकआउट बटन दिखाएं",
        "it": "Mostra pulsante di check-out dinamico",
        "ja": "動的チェックアウトボタンを表示する",
        "ko": "동적 결제 버튼 표시",
        "nb": "Vis dynamisk knapp for å gå til kassen",
        "nl": "Dynamische betaalknop weergeven",
        "pt-BR": "Exibir botão de checkout dinâmico",
        "pt-PT": "Mostrar o botão dinâmico de finalização da compra",
        "sv": "Visa dynamiska utcheckningsknappar",
        "th": "แสดงปุ่มชำระเงินแบบไดนามิก",
        "zh-CN": "显示动态结账按钮",
        "zh-TW": "顯示動態結帳按鈕"
      },
      "info": {
        "da": "Den enkelte kunde vil se sin foretrukne betalingsmetode blandt dem, der er tilgængelige i din butik, f.eks. PayPal eller Apple Pay. [Få mere at vide](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "de": "Jeder Kunde sieht seine bevorzugte Zahlungsmethode aus den in deinem Shop verfügbaren Zahlungsmethoden wie PayPal oder Apple Pay. [Mehr Informationen](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "en": "Each customer will see their preferred payment method from those available on your store, such as PayPal or Apple Pay. [Learn more](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "es": "Cada cliente verá su forma de pago preferida entre las disponibles en tu tienda, como PayPal o Apple Pay. [Más información](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "fi": "Kukin asiakas näkee ensisijaisen valintansa kauppasi tarjoamista maksutavoista, esim. PayPal tai Apple Pay. [Lisätietoja](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "fr": "Chaque client verra son moyen de paiement préféré parmi ceux qui sont proposés sur votre boutique, tels que PayPal ou Apple Pay. [En savoir plus](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "hi": "प्रत्येक ग्राहक आपके स्टोर पर उपलब्ध अपनी पसंदीदा भुगतान की विधि देखेंगे जैसे PayPal या Apple Pay. [अधिक जानें](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "it": "Ogni cliente vedrà il suo metodo di pagamento preferito tra quelli disponibili nel tuo negozio, come PayPal o Apple Pay. [Maggiori informazioni](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "ja": "PayPalやApple Payなど、ストアで利用可能な希望の決済方法がお客様に表示されます。[詳しくはこちら](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "ko": "각 고객은 PayPal 또는 Apple Pay와 같이 스토어에서 사용 가능한 지불 방법을 확인할 수 있습니다. [자세히 알아보기](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "nb": "Hver enkelt kunde vil se sin foretrukne betalingsmåte blant de som er tilgjengelig i butikken din, som PayPal eller Apple Pay. [Finn ut mer](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "nl": "Elke klant ziet zijn of haar beschikbare voorkeursmethode om af te rekenen, zoals PayPal of Apple Pay. [Meer informatie](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "pt-BR": "Cada cliente verá a forma de pagamento preferencial dele dentre as disponíveis na loja, como PayPal ou Apple Pay. [Saiba mais](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "pt-PT": "Cada cliente irá ver o seu método de pagamento preferido entre os disponíveis na loja, como o PayPal ou Apple Pay. [Saiba mais](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "sv": "Varje kund kommer att se den föredragna betalningsmetoden från de som finns tillgängliga i din butik, till exempel PayPal eller Apple Pay. [Läs mer](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "th": "ลูกค้าแต่ละรายจะเห็นวิธีการชำระเงินที่ต้องการจากวิธีที่ใช้ได้ในร้านค้าของคุณ เช่น PayPal หรือ Apple Pay [ดูข้อมูลเพิ่มเติม](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "zh-CN": "每位客户都可在您商店提供的付款方式中看到他们的首选付款方式,例如 PayPal 或 Apple Pay。[了解详细信息](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)",
        "zh-TW": "每位顧客都可以在您商店內開放使用的付款方式中看見他們偏好使用的方式,如 PayPal、Apple Pay 等。[深入瞭解](https://help.shopify.com/manual/using-themes/change-the-layout/dynamic-checkout)"
      },
      "default": true
    },
    {
      "type": "checkbox",
      "id": "show_share_buttons",
      "label": {
        "da": "Vis knapper til deling på sociale medier",
        "de": "Buttons für Social Media anzeigen",
        "en": "Show social sharing buttons",
        "es": "Mostrar botones para compartir en redes sociales",
        "fi": "Näytä sosiaalisen median jakamispainikkeet",
        "fr": "Affichez les boutons de partage sur les médias sociaux",
        "hi": "सोशल शेयरिंग बटन दिखाएं",
        "it": "Mostra i pulsanti per la condivisione sui social",
        "ja": "ソーシャルメディアでの共有ボタンを表示する",
        "ko": "소셜 공유 버튼 표시",
        "nb": "Vis knapper for deling på sosiale medier",
        "nl": "Knoppen voor sociaal delen weergeven",
        "pt-BR": "Exibir botões de compartilhamento em redes sociais",
        "pt-PT": "Mostrar botões de partilha nas redes sociais",
        "sv": "Visa knappar för delning i sociala medier",
        "th": "แสดงปุ่มสำหรับแชร์ลงโซเชียล",
        "zh-CN": "显示社交分享按钮",
        "zh-TW": "顯示社群分享按鈕"
      },
      "default": true
    },
    {
      "type": "header",
      "content": {
        "da": "Medie",
        "de": "Medien",
        "en": "Media",
        "es": "Elementos multimedia",
        "fi": "Media",
        "fr": "Support multimédia",
        "hi": "मीडिया",
        "it": "Media",
        "ja": "メディア",
        "ko": "미디어",
        "nb": "Medier",
        "nl": "Media",
        "pt-BR": "Mídia",
        "pt-PT": "Multimédia",
        "sv": "Media",
        "th": "สื่อ",
        "zh-CN": "媒体",
        "zh-TW": "媒體"
      },
      "info": {
        "da": "Få mere at vide om [media types](https://help.shopify.com/manual/products/product-media)",
        "de": "Mehr Informationen über [Medientypen ](https://help.shopify.com/manual/products/product-media)",
        "en": "Learn more about [media types](https://help.shopify.com/manual/products/product-media)",
        "es": "Más información sobre [tipos de archivos multimedia](https://help.shopify.com/manual/products/product-media)",
        "fi": "Lue lisää [mediatyypeistä](https://help.shopify.com/manual/products/product-media)",
        "fr": "En savoir plus sur les [types de supports multimédia](https://help.shopify.com/manual/products/product-media)",
        "hi": "[मीडिया प्रकार](https://help.shopify.com/manual/products/product-media) के बारे में और जानें",
        "it": "Scopri di più sulle [tipologie di file multimediali](https://help.shopify.com/manual/products/product-media)",
        "ja": "[メディアのタイプ](https://help.shopify.com/manual/products/product-media) について詳しくはこちら",
        "ko": "[미디어 유형](https://help.shopify.com/manual/products/product-media)에 대해 자세히 알아보기",
        "nb": "Lær mer om [medietyper](https://help.shopify.com/manual/products/product-media)",
        "nl": "Meer informatie over [mediatypen](https://help.shopify.com/manual/products/product-media)",
        "pt-BR": "Saiba mais sobre [tipos de mídia](https://help.shopify.com/manual/products/product-media)",
        "pt-PT": "Saiba mais sobre [media types](https://help.shopify.com/manual/products/product-media)",
        "sv": "Läs mer om [mediatyper](https://help.shopify.com/manual/products/product-media)",
        "th": "ดูข้อมูลเพิ่มเติมเกี่ยวกับ [ประเภทของสื่อ](https://help.shopify.com/manual/products/product-media)",
        "zh-CN": "详细了解[媒体类型](https://help.shopify.com/manual/products/product-media)",
        "zh-TW": "深入瞭解 [媒體類型](https://help.shopify.com/manual/products/product-media)"
      }
    },
    {
      "type": "select",
      "id": "media_size",
      "label": {
        "da": "Størrelse",
        "de": "Größe",
        "en": "Size",
        "es": "Tamaño",
        "fi": "Koko",
        "fr": "Taille",
        "hi": "आकार",
        "it": "Dimensione",
        "ja": "サイズ",
        "ko": "사이즈",
        "nb": "Størrelse",
        "nl": "Grootte",
        "pt-BR": "Tamanho",
        "pt-PT": "Tamanho",
        "sv": "Storlek",
        "th": "ขนาด",
        "zh-CN": "大小",
        "zh-TW": "尺寸"
      },
      "options": [
        {
          "value": "small",
          "label": {
            "da": "Lille",
            "de": "Klein",
            "en": "Small",
            "es": "Pequeño",
            "fi": "Pieni",
            "fr": "Petit",
            "hi": "छोटा",
            "it": "Piccolo",
            "ja": "スモール",
            "ko": "스몰",
            "nb": "Liten",
            "nl": "Klein",
            "pt-BR": "Pequeno",
            "pt-PT": "Pequeno",
            "sv": "Liten",
            "th": "เล็ก",
            "zh-CN": "小",
            "zh-TW": "小型"
          }
        },
        {
          "value": "medium",
          "label": {
            "da": "Medium",
            "de": "Mittel",
            "en": "Medium",
            "es": "Mediano",
            "fi": "Keskisuuri",
            "fr": "Moyenne",
            "hi": "मध्यम",
            "it": "Medio",
            "ja": "中",
            "ko": "보통",
            "nb": "Middels",
            "nl": "Gemiddeld",
            "pt-BR": "Médio",
            "pt-PT": "Médio",
            "sv": "Medium",
            "th": "ปานกลาง",
            "zh-CN": "中等",
            "zh-TW": "中等"
          }
        },
        {
          "value": "large",
          "label": {
            "da": "Stor",
            "de": "Groß",
            "en": "Large",
            "es": "Grande",
            "fi": "Suuri",
            "fr": "Grande",
            "hi": "बड़ा",
            "it": "Grande",
            "ja": "大",
            "ko": "라지",
            "nb": "Stor",
            "nl": "Groot",
            "pt-BR": "Grande",
            "pt-PT": "Grande",
            "sv": "Stor",
            "th": "ใหญ่",
            "zh-CN": "大",
            "zh-TW": "大型"
          }
        },
        {
          "value": "full",
          "label": {
            "da": "Fuld bredde",
            "de": "Volle Breite",
            "en": "Full-width",
            "es": "Ancho completo",
            "fi": "Täysi leveys",
            "fr": "Pleine largeur",
            "hi": "पूर्ण चौड़ाई",
            "it": "Intera larghezza",
            "ja": "全幅",
            "ko": "전체 폭",
            "nb": "Full bredde",
            "nl": "Volledige breedte",
            "pt-BR": "Largura completa",
            "pt-PT": "Largura completa",
            "sv": "Full bredd",
            "th": "เต็มความกว้าง",
            "zh-CN": "全宽",
            "zh-TW": "完整寬度"
          }
        }
      ],
      "default": "medium"
    },
    {
      "type": "checkbox",
      "id": "enable_image_zoom",
      "label": {
        "da": "Aktivér billedzoom",
        "de": "Foto-Zoom zulassen",
        "en": "Enable image zoom",
        "es": "Habilitar zoom de imagen",
        "fi": "Ota kuvan zoomaus käyttöön",
        "fr": "Activer le zoom d'image",
        "hi": "इमेज ज़ूम सक्षम करें",
        "it": "Abilita lo zoom dell'immagine",
        "ja": "画像ズームを有効にする",
        "ko": "이미지 확대 사용",
        "nb": "Aktiver bildezoom",
        "nl": "Inzoomen op afbeelding inschakelen",
        "pt-BR": "Habilitar o zoom da imagem",
        "pt-PT": "Ativar o zoom da imagem",
        "sv": "Aktivera bildzoom",
        "th": "เปิดใช้การซูมภาพ",
        "zh-CN": "启用图片缩放",
        "zh-TW": "啟用圖片縮放"
      },
      "default": true
    },
    {
      "type": "checkbox",
      "id": "enable_video_looping",
      "label": {
        "da": "Aktivér looping af videoer",
        "de": "Videschleife aktivieren",
        "en": "Enable video looping",
        "es": "Habilitar la reproducción de video en bucle",
        "fi": "Ota käyttöön videosilmukka",
        "fr": "Activer le bouclage de la vidéo",
        "hi": "वीडियो लूपिंग सक्षम करें",
        "it": "Abilita la riproduzione in loop dei video",
        "ja": "ビデオのループを有効にする",
        "ko": "동영상 루프",
        "nb": "Aktiver løkkeavspilling av video",
        "nl": "Video-looping inschakelen",
        "pt-BR": "Habilitar loop de vídeo",
        "pt-PT": "Ativar ciclo de vídeo",
        "sv": "Aktivera video-loopning",
        "th": "เปิดใช้งานการวนซ้ำวิดีโอ",
        "zh-CN": "启用视频循环",
        "zh-TW": "啟用影片循環功能"
      },
      "default": false
    }
  ]
}
{% endschema %}
Dim RegEx As Object
Set RegEx = CreateObject("vbscript.regexp")

RegEx.Pattern = "\[UserID\]=([0-9]+)"
Set qdef = getCurrentDb.QueryDefs("Query Course List PASSTHRU")
qdef.SQL = RegEx.Replace(qdef.SQL, "[UserID]=" & getLoggedInUserID)


Query:
[Cost Centre Descriptions].[Sector Code] IN (

SELECT [SectorCode]
FROM [tbl_TRNG_PermissionsBySector] WITH (NOLOCK)
WHERE [UserID]=9999 AND ViewSector=1

)
function capitalize(word) {
    const firstLetter = word[0].toUpperCase()
    const restWord = word.substring(1).toLowerCase()
    return firstLetter + restWord
}
from matplotlib import font_manager

font_dirs = ['path/to/font/']
font_files = font_manager.findSystemFonts(fontpaths=font_dirs)

for font_file in font_files:
    font_manager.fontManager.addfont(font_file)

# set font
plt.rcParams['font.family'] = 'Comic Sans'
now = datetime.datetime.now()
request_dict["time_now"] =  now.strftime("%Y-%m-%d %H:%M:%S")
var windowWidth = window.matchMedia("(max-width: 992px)")

// custom
$(document).ready(function () {

    function windowWidthChange(windowWidth) {
        if (windowWidth.matches) { // If media query matches
            console.log("Jeg er under 992px")
        } else {
            console.log("Jeg er over 992px")
        }
    }
    windowWidthChange(windowWidth)
    windowWidth.addListener(windowWidthChange)
var instanceURL = gs.getProperty('glide.servlet.uri');
// 20211207124543
// http://localhost:3000/groups/1

{
  "tests": [
    {
      "test_id": 20,
      "date": "2021-12-05T18:00:00.000Z",
      "group_id": 1,
      "subject_id": 1,
      "format": "Пробный экзамен",
      "max_points": 25,
      "subject_name": "Математика",
      "result": {
        "count": "3",
        "avg": "25.0000000000000000"
      },
      "percent": 100
    },
    {
      "test_id": 21,
      "date": "2021-12-03T18:00:00.000Z",
      "group_id": 1,
      "subject_id": 1,
      "format": "Пробный экзамен",
      "max_points": 25,
      "subject_name": "Математика",
      "result": {
        "count": "3",
        "avg": "20.0000000000000000"
      },
      "percent": 80
    }
  ],
  "group": {
    "group_id": 1,
    "name": "BS7-1Р",
    "class_number": 7
  },
  "students": [
    {
      "student_id": 20,
      "name": "Сауле Сергазина",
      "class_number": 7
    },
    {
      "student_id": 17,
      "name": "Адиль Дюсенов",
      "class_number": 7
    }
  ],
  "subjects": [
    {
      "id": 1,
      "subject_id": 1,
      "group_id": 1,
      "name": "Математика"
    }
  ],
  "globalLink": "http://localhost:3000"
}
const analyticsItemsHelper = (offer) => {
    if (offer.name.includes('Web Coins')) {
      offer.bonusItems.forEach((el) => {
        Titan.SendEvent({
          name: 'sys.game_transaction',
          parameters: {
            trans_type: 'reward_web_portal',
            trans_desc: 'redeem_promo_code',
            tournament_id: '',
            item_id: el.itemId,
            item_name: el.itemName,
            context: offer.id,
            quantity: +el.itemQuantity,
            transaction_id: +transactionIdAnalytics,
            stage_id: '',
            gacha_pack: '',
            gacha_pack_name: '',
            battle_id: '',
            season_id: '',
            item_balance: +currentUser.webCoin,
            tickets: '',
            skin: '',
            is_sgss: '',
            is_female_ss: '',
            item_ev: '',
            reference_id: 'special_offers',
            discount_info: JSON.stringify({
              promo_id: promotionId,
              promo_code: input,
            }),
            alliance_id: currentUser?.factionId || '',
            alliance_name: currentUser?.factionName || '',
            league_level: currentUser?.leagueId || '',
            player_level: currentUser?.playerId || '',
            player_name: currentUser?.nickname || '',
          },
        });
      });
      rubyIsActive &&
        Titan.SendEvent({
          name: 'sys.game_transaction',
          parameters: {
            trans_type: 'reward_web_portal',
            trans_desc: 'redeem_promo_code',
            tournament_id: '',
            item_id: 'web_currency_ruby',
            item_name: 'Ruby',
            context: offer.id,
            quantity: currencyQuantity('Ruby', offer),
            transaction_id: +transactionIdAnalytics,
            stage_id: '',
            gacha_pack: '',
            gacha_pack_name: '',
            battle_id: '',
            season_id: '',
            item_balance: +currentUser.ruby,
            tickets: '',
            skin: '',
            is_sgss: '',
            is_female_ss: '',
            item_ev: '',
            reference_id: 'special_offers',
            discount_info: JSON.stringify({
              promo_id: promotionId,
              promo_code: input,
            }),
            alliance_id: currentUser?.factionId || '',
            alliance_name: currentUser?.factionName || '',
            league_level: currentUser?.leagueId || '',
            player_level: currentUser?.playerId || '',
            player_name: currentUser?.nickname || '',
          },
        });
    } else if (offer.name.includes('Rubies')) {
      offer.bonusItems.forEach((el) => {
        Titan.SendEvent({
          name: 'sys.game_transaction',
          parameters: {
            trans_type: 'reward_web_portal',
            trans_desc: 'redeem_promo_code',
            tournament_id: '',
            item_id: el.itemId,
            item_name: el.itemName,
            context: offer.id,
            quantity: +el.itemQuantity,
            transaction_id: +transactionIdAnalytics,
            stage_id: '',
            gacha_pack: '',
            gacha_pack_name: '',
            battle_id: '',
            season_id: '',
            item_balance: +currentUser.ruby + el.itemQuantity,
            tickets: '',
            skin: '',
            is_sgss: '',
            is_female_ss: '',
            item_ev: '',
            reference_id: 'special_offers',
            discount_info: JSON.stringify({
              promo_id: promotionId,
              promo_code: input,
            }),
            alliance_id: currentUser?.factionId || '',
            alliance_name: currentUser?.factionName || '',
            league_level: currentUser?.leagueId || '',
            player_level: currentUser?.playerId || '',
            player_name: currentUser?.nickname || '',
          },
        });
      });
      Titan.SendEvent({
        name: 'sys.game_transaction',
        parameters: {
          trans_type: 'reward_web_portal',
          trans_desc: 'redeem_promo_code',
          tournament_id: '',
          item_id: 'web_currency_web_coin',
          item_name: 'Web Coin',
          context: offer.id,
          quantity: currencyQuantity('Web Coin', offer),
          transaction_id: +transactionIdAnalytics,
          stage_id: '',
          gacha_pack: '',
          gacha_pack_name: '',
          battle_id: '',
          season_id: '',
          item_balance: +currentUser.webCoin,
          tickets: '',
          skin: '',
          is_sgss: '',
          is_female_ss: '',
          item_ev: '',
          reference_id: 'special_offers',
          discount_info: JSON.stringify({
            promo_id: promotionId,
            promo_code: input,
          }),
          alliance_id: currentUser?.factionId || '',
          alliance_name: currentUser?.factionName || '',
          league_level: currentUser?.leagueId || '',
          player_level: currentUser?.playerId || '',
          player_name: currentUser?.nickname || '',
        },
      });
    } else {
      offer.bonusItems.forEach((el) => {
        console.log(activeCurrencies, 'activeCurrencies');
        console.log(currentUser, 'currentUser');
        console.log(offer, 'offer');
        console.log(el.itemName, 'itemNameitemNameItemNameitemNameitemName')
        Titan.SendEvent({
          name: 'sys.game_transaction',
          parameters: {
            trans_type: 'reward_web_portal',
            trans_desc: 'redeem_promo_code',
            tournament_id: '',
            item_id: el.itemId,
            item_name: el.itemName,
            context: offer.id,
            quantity: +el.itemQuantity,
            transaction_id: +transactionIdAnalytics,
            stage_id: '',
            gacha_pack: '',
            gacha_pack_name: '',
            battle_id: '',
            season_id: '',
            item_balance: '',
            tickets: '',
            skin: '',
            is_sgss: '',
            is_female_ss: '',
            item_ev: '',
            reference_id: 'special_offers',
            discount_info: JSON.stringify({
              promo_id: promotionId,
              promo_code: input,
            }),
            alliance_id: currentUser?.factionId || '',
            alliance_name: currentUser?.factionName || '',
            league_level: currentUser?.leagueId || '',
            player_level: currentUser?.playerId || '',
            player_name: currentUser?.nickname || '',
          },
        });
      });
      Titan.SendEvent({
        name: 'sys.game_transaction',
        parameters: {
          trans_type: 'reward_web_portal',
          trans_desc: 'redeem_promo_code',
          tournament_id: '',
          item_id: 'web_currency_web_coin',
          item_name: 'Web Coin',
          context: offer.id,
          quantity: currencyQuantity('Web Coin', offer),
          transaction_id: +transactionIdAnalytics,
          stage_id: '',
          gacha_pack: '',
          gacha_pack_name: '',
          battle_id: '',
          season_id: '',
          item_balance: +currentUser.webCoin,
          tickets: '',
          skin: '',
          is_sgss: '',
          is_female_ss: '',
          item_ev: '',
          reference_id: 'special_offers',
          discount_info: JSON.stringify({
            promo_id: promotionId,
            promo_code: input,
          }),
          alliance_id: currentUser?.factionId || '',
          alliance_name: currentUser?.factionName || '',
          league_level: currentUser?.leagueId || '',
          player_level: currentUser?.playerId || '',
          player_name: currentUser?.nickname || '',
        },
      });
      rubyIsActive &&
        Titan.SendEvent({
          name: 'sys.game_transaction',
          parameters: {
            trans_type: 'reward_web_portal',
            trans_desc: 'redeem_promo_code',
            tournament_id: '',
            item_id: 'web_currency_ruby',
            item_name: 'Ruby',
            context: offer.id,
            quantity: currencyQuantity('Ruby', offer),
            transaction_id: +transactionIdAnalytics,
            stage_id: '',
            gacha_pack: '',
            gacha_pack_name: '',
            battle_id: '',
            season_id: '',
            item_balance: +currentUser.ruby,
            tickets: '',
            skin: '',
            is_sgss: '',
            is_female_ss: '',
            item_ev: '',
            reference_id: 'special_offers',
            discount_info: JSON.stringify({
              promo_id: promotionId,
              promo_code: input,
            }),
            alliance_id: currentUser?.factionId || '',
            alliance_name: currentUser?.factionName || '',
            league_level: currentUser?.leagueId || '',
            player_level: currentUser?.playerId || '',
            player_name: currentUser?.nickname || '',
          },
        });
    }
  };
{
  "student": {
    "student_id": 16,
    "name": "Камила Темирбек",
    "class_number": 7,
    "results": [
      {
        "result_id": 19,
        "test_id": 20,
        "student_id": 16,
        "points": 25,
        "date": "2021-12-05T18:00:00.000Z",
        "group_id": 1,
        "subject_id": 1,
        "format": "Пробный экзамен",
        "max_points": 25,
        "id": 1,
        "name": "Математика"
      },
      {
        "result_id": 23,
        "test_id": 21,
        "student_id": 16,
        "points": 10,
        "date": "2021-12-03T18:00:00.000Z",
        "group_id": 1,
        "subject_id": 1,
        "format": "Пробный экзамен",
        "max_points": 25,
        "id": 1,
        "name": "Математика"
      }
    ]
  },
  "subjects": [
    {
      "id": 2,
      "student_id": 16,
      "subject_id": 2,
      "name": "Физика"
    }
  ]
}
RtcEngine rtcEngine = rtcEngine();
// Switches between front and rear cameras.
rtcEngine.switchCamera();
$totalPayment = collect($billingData['payment_not_distirbute'])->sum('balance');
/* No-index posts older than 90 days if in PR custom post type */

function noindexOldPRs() {
	$url = 'http://' . $_SERVER[ 'HTTP_HOST' ] . $_SERVER[ 'REQUEST_URI' ];
	$current_post_id = url_to_postid( $url );
	
	$publishdate = get_the_time('Y-m-d', $current_post_id);
	$posttype = get_post_type ($current_post_id);
	
	if ($posttype == "pr") {
		$ninetydaysago = date("Y-m-d", strtotime("-90 days"));
		if($publishdate < $ninetydaysago) {
			echo '<meta name="robots" content="noindex">';
		}
	} elseif (has_tag('nonnews', $current_post_id)) {
		echo '<meta name="Googlebot-News" content="noindex, nofollow">';
	}
	
	//add noindex/nofollow for google news bot
	// get tags
	// if a tag includes nonnews
	// then add
	// <meta name="Googlebot-News" content="noindex, nofollow">

}
add_action('wp_head', 'noindexOldPRs');
composer create-project drupal/recommended-project myproject -n
cd myproject
lando init --source cwd --recipe drupal8 --webroot web --name myproject
lando start
composer require drush/drush drupal/admin_toolbar
drush si --db-url=mysql://drupal8:drupal8@database/drupal8 --account-pass=content -y
drush en admin_toolbar admin_toolbar_tools
drush uli -l http://myproject.lndo.site
docker ps //List running containers
docker ps --all //List all containers
docker system prune //Remove unused data
docker system prune --all //Remove all unused images not just dangling ones
docker run {IMAGE} //combining 'docker create' & 'docker start'
docker run -d {IMAGE} // Run container in background and print container ID
docker run -p {systemport}:{dockerport} {IMAGE} // Map Port of the OS to the dockerport
docker run -it {IMAGE} //Input output
docker run -it {IMAGE} sh //Run docker container and shell into it
docker exec -it {IMAGE} sh //Shell into running docker container
docker build . //Build docker image with random id 
docker build -t {REPO}/{TAGNAME} . //Build docker image with random id 
docker stop {IMAGE} //Stop container from running

docker-compose up //Execute docker compose
docker-compose up --build // Rebuild Docker container and execute docker compose
docker-compose -d {IMAGE} // Run container in background and print container ID
docker-compose down //Stop container from running
{
    "data": {
        "id": "a7d324a4-06eb-4be2-ad8e-65938bce5fd5",
        "type": "products",
        "links": {
            "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5"
        },
        "attributes": {
            "product_type": "Software",
            "name": "G2 Marketing Solutions",
            "short_name": "G2",
            "domain": "g2.com",
            "slug": "g2-seller-solutions",
            "description": "G2 helps you grow revenue faster with our full funnel of marketing and selling solutions.",
            "detail_description": "Every year, over 60 million people research, compare, and vet software and services on G2.com. G2 Marketing Solutions enable you to build your brand presence, drive awareness, and proactively engage with these in-market buyers to drive revenue and pipeline. \n\nDRIVE BRAND AWARENESS with your G2 Profile: Claim your profile and amplify your differentiated brand story  to help in-market buyers understand the value you bring to the table as they do their research.\n\nINCREASE BRAND PERCEPTION with you,
            "image_url": "https://images.g2crowd.com/uploads/product/image/1233ef954d868794f19ce75837789fe8/g2-seller-solutions.png",
            "product_url": "https://sell.g2.com/",
            "review_count": 397,
            "star_rating": 4.6,
            "avg_rating": "9.209070000000001",
            "public_detail_url": "https://www.g2.com/products/g2-seller-solutions/reviews",
            "updated_at": "2021-12-03T13:34:37.922-06:00",
            "created_at": "2017-02-13T10:22:44.032-06:00"
        },
        "relationships": {
            "categories": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/categories",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/categories"
                }
            },
            "survey_responses": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/survey-responses",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/survey-responses"
                }
            },
            "competitors": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/competitors",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/competitors"
                }
            },
            "main_category": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/main-category",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/main-category"
                }
            },
            "vendor": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/vendor",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/vendor"
                }
            },
            "product_rating": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/product-rating",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/product-rating"
                }
            },
            "product_features": {
                "links": {
                    "self": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/relationships/product-features",
                    "related": "https://data.g2.com/api/v1/products/a7d324a4-06eb-4be2-ad8e-65938bce5fd5/product-features"
                }
            }
        }
    }
}
CREATE TABLE group_reviews (
	review_id serial PRIMARY KEY,


	group_id INT REFERENCES groups (group_id) NOT NULL,
	subject_id INT REFERENCES subjects (id) NOT NULL,
        posting_date DATE NOT NULL
);


CREATE TABLE student_subjects (
	id serial PRIMARY KEY,
	student_id INT REFERENCES students (student_id)
	NOT NULL,
	subject_id INT REFERENCES subjects (id)
	NOT NULL
);
#kltop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 30px;
    z-index: 99;
    border: none;
    outline: none;
    cursor: pointer;
    border-radius: 10px;
    font-size: 40px;
    color: #a67c00;
}
<i class="fas fa-chevron-circle-up" onclick="topFunction()" id="kltop" title="Go to top"></i>
<script>
    //Get the button:
mybutton = document.getElementById("kltop");
// When the user scrolls down 20px from the top of the document, show the button
window.onscroll = function() {scrollFunction()};
function scrollFunction() {
  if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
    mybutton.style.display = "block";
  } else {
    mybutton.style.display = "none";
  }
}
// When the user clicks on the button, scroll to the top of the document
function topFunction() {
  document.body.scrollTop = 0; // For Safari
  document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
}
</script>
def addNums(a,b):
    summa = a + b
    return summa
    mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
    mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
    mysql> exit;
git stash                       # skip if all changes are committed
git branch my_feature
git reset --hard origin/master
git checkout my_feature
git stash pop                   # skip if all changes were committed
@ini_set( 'upload_max_filesize' , '256M' );

@ini_set( 'post_max_size', '256M');

@ini_set( 'memory_limit', ‘256M' );

@ini_set( 'max_execution_time', '300' );

@ini_set( 'max_input_time', '300' );
php_value upload_max_filesize 256M
php_value post_max_size 256M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
<div class=" h-100 d-flex justify-content-center align-items-center">
  <div>
      Items are Centered horizontally and vertically
  </div>
</div>
index.js

import MeetupList from "./../components/meetups/MeetupList";
import { useEffect } from "react";
import { useState } from "react";

const data = [
  {
    id: "m1",
    title: "A first meetup",
    image: “/location.jpg”,
    address: "Some address 10, 12345 Some city",
    description: "This is a first meetup!",
  },
  {
    id: "m2",
    title: "A second meetup",
    image:“/location.jpg”,
    address: "Some address 20, 6789 Some city",
    description: "This is a second meetup!",
  },
];

const HomePage = () => {
  const [loadedMeetups, setLoadedMeetups] = useState([]);

  useEffect(() => {
    // send http request and fetch data
    setLoadedMeetups(data);
  }, []);

  return (
    <>
      <MeetupList meetups={loadedMeetups} />
    </>
  );
};

export default HomePage;
nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li { display: inline-block; }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

// Property Declarations
.circle {
  $size: 100px;
  width: $size;
  height: $size;
  border-radius: $size * 0.5;
}

// The parent selector can be used to add pseudo-classes to the outer
// selector.
.alert {
  &:hover {
    font-weight: bold;
  }
  
// Placeholder Selectors
%toolbelt {
  box-sizing: border-box;
  border-top: 1px rgba(#000, .12) solid;
  padding: 16px 0;
  width: 100%;

  &:hover { border: 2px rgba(#000, .5) solid; }
}

.action-buttons {
  @extend %toolbelt;
  color: #4285f4;
}

.reset-buttons {
  @extend %toolbelt;
  color: #cddc39;
}
Theme
	js
    css
    	abstract
        base
        components
        layout
        utilities
	style21.scc        
  function ChangePosit(x) {
  if (x.matches) { // If media query matches
    function switchElements($ele1, $ele2) {

// clone elements and their contents
var $ele1Clone = $ele1.clone(),
    $ele2Clone = $ele2.clone();

// switch places
$ele1.replaceWith($ele2Clone);
$ele2.replaceWith($ele1Clone);
}

setTimeout(function(){

// cache elements
var $ele1 = $('#sbit'),
    $ele2 = $('#sbi');

switchElements($ele1, $ele2);

}, 20);
  } else {
    function switchElements($ele1, $ele2) {

// clone elements and their contents
var $ele1Clone = $ele1.clone(),
    $ele2Clone = $ele2.clone();

// switch places
$ele1.replaceWith($ele2Clone);
$ele2.replaceWith($ele1Clone);
}

setTimeout(function(){

// cache elements
var $ele1 = $('#sbi'),
    $ele2 = $('#sbit');

switchElements($ele1, $ele2);

}, 20);
  }
}

var x = window.matchMedia("(max-width: 900px)")
ChangePosit(x) // Call listener function at run time
x.addListener(ChangePosit) // Attach listener function on state changes
</script>
  
create or replace function decode_url(url text)
  returns text as
$BODY$
DECLARE result text;
BEGIN
    if url isnull then
        return null;
    end if;

    BEGIN
        with str AS (
            select
                   case when url ~ '^%[0-9a-fA-F][0-9a-fA-F]'
                   then array['']
                   end
            || regexp_split_to_array(url, '(%[0-9a-fA-F][0-9a-fA-F])+', 'i') plain,

            array(select (regexp_matches(url, '((?:%[0-9a-fA-F][0-9a-fA-F])+)', 'gi'))[1]) encoded
            )

        select string_agg(plain[i] || coalesce(convert_from(decode(replace(encoded[i], '%',''), 'hex'), 'utf8'),''),'')
        from str, (select generate_series(1, array_upper(encoded, 1) + 2) i FROM str) serie
        into result;

    EXCEPTION WHEN OTHERS THEN
        raise notice 'failed: %', url;
        return url;
    END;

    return coalesce(result, url);

END;

$BODY$
  LANGUAGE plpgsql IMMUTABLE STRICT;
star

Tue Dec 07 2021 19:57:37 GMT+0000 (UTC)

@threesixnine

star

Tue Dec 07 2021 19:03:37 GMT+0000 (UTC) https://askubuntu.com/questions/730754/how-do-i-show-the-git-branch-with-colours-in-bash-prompt

@igor

star

Tue Dec 07 2021 17:50:52 GMT+0000 (UTC) https://github.com/rolling-scopes-school/tasks/blob/master/tasks/materials/algorithms.md

@Evgeniya

star

Tue Dec 07 2021 17:39:01 GMT+0000 (UTC) https://creativeboss.notion.site/Split-Sections-5c55f60ab6f7466f96188d867fe70af4

@seventhandgray #scss #splitsection

star

Tue Dec 07 2021 17:14:20 GMT+0000 (UTC) https://www.npmjs.com/package/live-server

@colincampbell85

star

Tue Dec 07 2021 16:48:55 GMT+0000 (UTC)

@11235jba

star

Tue Dec 07 2021 15:52:16 GMT+0000 (UTC) https://dmitripavlutin.com/catch-the-xmlhttp-request-in-plain-javascript/

@davidpetrey #http

star

Tue Dec 07 2021 15:19:33 GMT+0000 (UTC) https://quotex-broker.com/ru/demo-trade

@nik_kn1

star

Tue Dec 07 2021 15:17:24 GMT+0000 (UTC) https://quotex-broker.com/ru/demo-trade

@nik_kn1

star

Tue Dec 07 2021 14:32:05 GMT+0000 (UTC) https://stackoverflow.com/questions/4470523/create-a-branch-in-git-from-another-branch

@igor

star

Tue Dec 07 2021 14:27:08 GMT+0000 (UTC) https://stackoverflow.com/questions/126100/how-to-efficiently-count-the-number-of-keys-properties-of-an-object-in-javascrip

@ali_alaraby #javascript

star

Tue Dec 07 2021 14:26:35 GMT+0000 (UTC) https://stackoverflow.com/questions/45819123/how-to-loop-over-object-properties-with-ngfor-in-angular

@ali_alaraby #javascript

star

Tue Dec 07 2021 14:10:15 GMT+0000 (UTC)

@carolina_laudon

star

Tue Dec 07 2021 12:48:47 GMT+0000 (UTC)

@KarenStewart #react.js

star

Tue Dec 07 2021 12:21:44 GMT+0000 (UTC)

@TheInspired

star

Tue Dec 07 2021 11:29:55 GMT+0000 (UTC)

@paulbarry #vba

star

Tue Dec 07 2021 10:03:03 GMT+0000 (UTC)

@captm #javascript

star

Tue Dec 07 2021 09:01:02 GMT+0000 (UTC)

@thejoe01 #matplotlib #font

star

Tue Dec 07 2021 08:44:27 GMT+0000 (UTC)

@alvaroferrer #python #datetime

star

Tue Dec 07 2021 08:18:21 GMT+0000 (UTC)

@Emilgg

star

Tue Dec 07 2021 07:56:31 GMT+0000 (UTC)

@mathiasVDD #javascript

star

Tue Dec 07 2021 06:44:58 GMT+0000 (UTC) http://localhost:3000/groups/1

@vvnezapnopwnz

star

Tue Dec 07 2021 06:40:16 GMT+0000 (UTC)

@Vahe #react.js

star

Tue Dec 07 2021 06:34:06 GMT+0000 (UTC)

@vvnezapnopwnz

star

Tue Dec 07 2021 05:45:33 GMT+0000 (UTC)

@IrtiqaMohiuddin

star

Tue Dec 07 2021 02:22:13 GMT+0000 (UTC)

@GodFather #php

star

Mon Dec 06 2021 20:54:35 GMT+0000 (UTC) https://www.drupal.org/project/drupal/issues/3099148

@MattMoniz #php #drupal

star

Mon Dec 06 2021 20:40:02 GMT+0000 (UTC)

@bmillot #docker

star

Mon Dec 06 2021 19:22:43 GMT+0000 (UTC)

@timsilber

star

Mon Dec 06 2021 18:42:10 GMT+0000 (UTC)

@vvnezapnopwnz

star

Mon Dec 06 2021 18:36:17 GMT+0000 (UTC) https://beaverhero.com/back-to-top-elementor/

@Daphne

star

Mon Dec 06 2021 18:35:04 GMT+0000 (UTC) https://beaverhero.com/back-to-top-elementor/

@Daphne

star

Mon Dec 06 2021 18:05:49 GMT+0000 (UTC)

@tolibjon

star

Mon Dec 06 2021 17:34:36 GMT+0000 (UTC) https://stackoverflow.com/questions/23921117/disable-only-full-group-by

@swina #mysql

star

Mon Dec 06 2021 16:51:34 GMT+0000 (UTC) https://stackoverflow.com/questions/2941517/how-to-fix-committing-to-the-wrong-git-branch

@adamyalei

star

Mon Dec 06 2021 16:21:43 GMT+0000 (UTC)

@mel #htaccess #redirect

star

Mon Dec 06 2021 16:21:05 GMT+0000 (UTC)

@mel #htaccess #redirect

star

Mon Dec 06 2021 16:17:09 GMT+0000 (UTC) https://stackoverflow.com/questions/26941443/how-to-center-vertically-and-horizontally-a-div-using-bootstrap

@citsaps

star

Mon Dec 06 2021 14:08:29 GMT+0000 (UTC) https://docs.google.com/document/d/1Fxoh7R_7TExsGfvmNWcryqO9d7-3x0sP3dwXKCZU4Yo/edit

@Matt #useeffect

star

Mon Dec 06 2021 13:51:54 GMT+0000 (UTC) https://drupal.stackexchange.com/questions/127939/how-to-list-all-available-entity-types

@igor

star

Mon Dec 06 2021 12:18:39 GMT+0000 (UTC)

@carolina_laudon #terminal #commandline

star

Mon Dec 06 2021 11:49:55 GMT+0000 (UTC) https://blog.codetitans.pl/post/howto-docker-over-wsl2-location/

@swina #docker #wsl2

star

Mon Dec 06 2021 11:15:02 GMT+0000 (UTC)

@baravit #ios #imporant #ddd

star

Mon Dec 06 2021 10:53:47 GMT+0000 (UTC)

@hfwefvwefgwvef

star

Mon Dec 06 2021 10:27:38 GMT+0000 (UTC)

@hrhrzr #sql #postgres

Save snippets that work with our extensions

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