I have a react app that built through npm run build. GET and POST request from the front-end to back-end gives status 200 but I am getting a weird error that may cause all the images from my files not appear on localhost.
I have already tried to reinstall node, added 'manifest_version': 2 as it is the current version of chrome manifest.
Click here for inspect screenshot
Manifest: Line: 1, column: 1, Syntax error.
Below is my index.html file
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="/manifest.json">
<link rel="shortcut icon" href="/favicon.ico">
<title>Django React Boilerplate</title>
<link href="/static/css/2.87ad9c80.chunk.css" rel="stylesheet">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script>
! function(l) {
function e(e) {
for (var r, t, n = e[0], o = e[1], u = e[2], f = 0, i = []; f < n.length; f++) t = n[f], p[t] && i.push(p[t][0]), p[t] = 0;
for (r in o) Object.prototype.hasOwnProperty.call(o, r) && (l[r] = o[r]);
for (s && s(e); i.length;) i.shift()();
return c.push.apply(c, u || []), a()
}
function a() {
for (var e, r = 0; r < c.length; r++) {
for (var t = c[r], n = !0, o = 1; o < t.length; o++) {
var u = t[o];
0 !== p[u] && (n = !1)
}
n && (c.splice(r--, 1), e = f(f.s = t[0]))
}
return e
}
var t = {},
p = {
1: 0
},
c = [];
function f(e) {
if (t[e]) return t[e].exports;
var r = t[e] = {
i: e,
l: !1,
exports: {}
};
return l[e].call(r.exports, r, r.exports, f), r.l = !0, r.exports
}
f.m = l, f.c = t, f.d = function(e, r, t) {
f.o(e, r) || Object.defineProperty(e, r, {
enumerable: !0,
get: t
})
}, f.r = function(e) {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
value: "Module"
}), Object.defineProperty(e, "__esModule", {
value: !0
})
}, f.t = function(r, e) {
if (1 & e && (r = f(r)), 8 & e) return r;
if (4 & e && "object" == typeof r && r && r.__esModule) return r;
var t = Object.create(null);
if (f.r(t), Object.defineProperty(t, "default", {
enumerable: !0,
value: r
}), 2 & e && "string" != typeof r)
for (var n in r) f.d(t, n, function(e) {
return r[e]
}.bind(null, n));
return t
}, f.n = function(e) {
var r = e && e.__esModule ? function() {
return e.default
} : function() {
return e
};
return f.d(r, "a", r), r
}, f.o = function(e, r) {
return Object.prototype.hasOwnProperty.call(e, r)
}, f.p = "/";
var r = window.webpackJsonp = window.webpackJsonp || [],
n = r.push.bind(r);
r.push = e, r = r.slice();
for (var o = 0; o < r.length; o++) e(r[o]);
var s = n;
a()
}([])
</script>
<script src="/static/js/2.e5ee7667.chunk.js"></script>
<script src="/static/js/main.9f678b97.chunk.js"></script>
</body>
</html>
It appeared that the error starts from the beginning of my index.html file.
I had the same problem when I moved my Codesandbox project to local. In my case, there was no manifest.json file in the public folder.
I solved it by adding the default manifest.json that create-react-app generates:
{
"short_name": "CloseWeUI",
"name": "The front-end UI for CloseWe",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
I had the same problem ("Manifest: Line: 1, column: 1, Syntax error") while running my app (react app with react-router, published with AWS Amplify).
My problem was fixed by doing the following:
In "Rewrites and redirects" make sure you have "json" in the following line:
Source address:
</^[^.]+$|\.(?!(css|gif|ico|json|jpg|js|png|txt|svg|woff|ttf)$)([^.]+$)/>
Target address:
/index.html
Type:
200 (Rewrite)
The above solution also fixed problem with non-working react-router links in production as it was reported in the following thread:
React Router DOM not working correctly on Amplify Console AWS
Here is to my personal project with fixed manifest.json issue, as well as non-working react-router issue (a link to some random code snippet - fibonacci memoization in this case):
https://everhint.com/hintlink/algorithms/javascript/codesnippet/fibonacci/memoization/fibonacci-memoization/d01f275b-6acf-4f26-9448-e99939c9d4b7.html
As I added password protection to a developer-only page of mine, I suddenly started getting "manifest line 1 column 1 syntax error" (manifest.json) errors.
I am also using AWS Amplify as well as Create React App to build my app. I tried all of the solutions above, but nothing helped.
The one thing that did help was adding one property to the link to my manifest.json in my index.html.
To solve this, I added crossorigin="use-credentials"*, like below:
<link crossorigin="use-credentials" rel="manifest" href="./manifest.json" />
VladS answer solved my problem.
I was also using AWS Amplify Console for my Angular App.
You can also have a look at the Content-Type in the response headers of your manifest file. It should NOT be text/html. If it is, you have to change your server configuration to serve the file in the right Content-Type. More info
Angular names the Manifest-File "manifest.webmanifest".
So I also had to go to the "Rewrites and redirects" Page in the Amplify Console and edited the existing entry like so:
Source address
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|json|webmanifest)$)([^.]+$)/>
(I added json|webmanifest)
React create app
If you got this error while working with React Create App you should go to:
public/index.html find <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> and remove it.
you should put
"homepage": "",
on your packaje.json.
it worked for me.
in line 7 of index.html just delete this
<link rel="manifest" href="/manifest.json">
the error is coming from this line cause you delete manifest.json but you forget this line so you have an error in your console
i put the manifest.json on the public file with the index.html
This error message seems to be a catchall error for a lot of issues. For me the issue was using http-server to load the page. When I switched to the project root directory and ran npm start , the project loaded without issues and any changes.
I deleted this line from my index.html file in the public directory
<link rel="manifest" href="/manifest.json">
Related
I am trying to style (color) my leaflet polyline (geojson object showing a trail) based on some conditions. The condition is the average speed, which is calculated from a timestamp that comes with the geojson. Thanks to this forum, I managed to show the line as expected. But the styling does not work.
The average speed of the example data ist 1.3 km/h, thus the line should be red. But it is blue.
Maybe that is because the polyline is created before the velocitiy was calculated.
But adding that code line later does not work because the calculation of the distance depends on that polyline. Or what ist my mistake?
Any hints how to get that styling right?
Thanks in advance.
Here is a simplified code;
<html>
<head>
<!-- Load leaflet library and use its styling css -->
<link rel="stylesheet" href="https://unpkg.com/leaflet#1.7.1/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet#1.7.1/dist/leaflet.js"> </script>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script type="text/javascript" src="js/measuredDistance.js"></script>
<link rel="stylesheet" href="style.css" type="text/css" /> //not included
</head>
<body>
<div class="pagewrapper">
<div id="map"></div>
<button onclick="myFunction()">Click me</button>
</div>
<script type="text/javascript">
//add map and set view
var map = L.map('map').setView([48.8,13.03],6);
// add background layer "opentopomap"
var backgroundlayer = L.tileLayer ('https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png');
map.addLayer(backgroundlayer);
//get geojson data
var geojsondata = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": 1,
"geometry": {
"type": "Point",
"coordinates": [
13.0908549980086,
47.812500986468
]
},
"properties": {
"Source": 2,
"ele": 399.0844,
"time": 1174816297000,
"ObjectId": 2
}
},
{
"type": "Feature",
"id": 2,
"geometry": {
"type": "Point",
"coordinates": [
13.0408219980085,
47.812484986468
]
},
"properties": {
"Source": 2,
"ele": 397.1617,
"time": 1174826310000,
"ObjectId": 2
}
}]};
function myFunction() {
visualizer.sendDataToMap(geojsondata)
};
//---------------------------------------------
//styling function for polyline, depending on velocitiy of track
function restylemap(feature) {
if(velocitiy <= 4) {
return{color: "red"}
}
else if (velocitiy > 4 && velocitiy <= 20) {return
{color:"green"}
}
else {return {color:"grey"}}
};
// function to calculate total time of track
function sum(array) {
return Number(array[array.length - 1] - Number(array[0]));
};
//----------------------------------------------------
var visualizer = {};
visualizer.sendDataToMap = function (jsonData) {{
L.geoJson(jsonData
)};
// read coordinates from geojson object
const latlngs = jsonData.features.map((feature) => [
feature.geometry.coordinates[1],
feature.geometry.coordinates[0]
]);
//access time information from geojson object
const time = jsonData.features.map((feature) => [
feature.properties.time
]);
//create polyline from coordinates and style according to function "restylemap"
var linie = L.polyline(latlngs, {style:restylemap});
//calculate total distance of polyline
var lengthInMeters = linie.measuredDistance();
//remove non numeric chars ("km") from string
var distance = lengthInMeters.replace(/[^\d.-]/g, '');
//calculate time between first and last timestamp
var elapstime = (sum(time) / 1000 / 60 / 60);
//Calculate average speed on track
var velocitiy = distance/elapstime
//add polyline to map
linie.addTo(map);
// center map to polyline
map.fitBounds(linie.getBounds());
//avespeed.toFixed(1)
alert("Velocitiy: "+velocitiy.toFixed(1)+" km/h");
};
</script>
</body>
</html>
Like you said, you add the style to early. Change your code to:
//styling function for polyline, depending on velocitiy of track
function restylemap(velocitiy) { // <-------- NEW
if(velocitiy <= 4) {
return{color: "red"}
}
else if (velocitiy > 4 && velocitiy <= 20) {return
{color:"green"}
}
else {return {color:"grey"}}
};
//create polyline from coordinates and style according to function "restylemap"
var linie = L.polyline(latlngs); // <-------- NEW
//calculate total distance of polyline
var lengthInMeters = linie.measuredDistance();
//remove non numeric chars ("km") from string
var distance = lengthInMeters.replace(/[^\d.-]/g, '');
//calculate time between first and last timestamp
var elapstime = (sum(time) / 1000 / 60 / 60);
//Calculate average speed on track
var velocitiy = distance/elapstime
// Change line color
linie.setStyle(restylemap(velocitiy)); // <-------- NEW
//add polyline to map
linie.addTo(map);
I used Gridelements a while now. I used the following code:
TypoScript (Gridelements (deprecated) (gridelements)):
tt_content.gridelements_pi1.20.10.setup {
2col < lib.gridelements.defaultGridSetup
2col.cObject = FLUIDTEMPLATE
2col.cObject.file = {$resDir}/Private/Partials/Gridelements/2spalten.html
}
FLUID Template:
<div class="row">
<div class="col-md-6">
{data.tx_gridelements_view_column_0}
</div>
<div class="col-md-6">
{data.tx_gridelements_view_column_1}
</div>
</div>
PageTS:
tx_gridelements.setup {
2col {
title = Two Columns
config {
colCount = 2
rowCount = 1
rows {
1 {
columns {
1 {
name = Links
colPos = 0
}
2 {
name = Rechts
colPos = 1
}
}
}
}
}
}
}
But now I want to use "Gridelements w/DataProcessing (recommended) (gridelements)" because the other one is deprecated. But all I see is the error:
Tried resolving a template file for controller action "Standard->2col"
in format ".html", but none of the paths contained the expected
template file (Standard/2col.html). The following paths were checked:
/var/www/html/typo3/sysext/fluid_styled_content/Resources/Private/Templates/,
/var/www/html/typo3/typo3conf/ext/gridelements/Resources/Private/Templates/,
/var/www/html/typo3/typo3conf/ext/dev_layout/Resources/Private/Templates/
If I write this in my TypoScript code:
lib.gridelements.defaultGridSetup =< lib.contentElement
lib.gridelements.defaultGridSetup {
templateRootPaths {
20 = {$resDir}/Private/Templates/Gridelements/
}
}
tt_content.gridelements_pi1 < lib.gridelements.defaultGridSetup
tt_content.gridelements_view < tt_content.gridelements_pi1
And when I create the named file, the error no longer appears. But there is no output. I see the divs but no content. How can I switch from deprecated gridelements to dataprocessing gridelements?
"The documentation is wrong you need this"
tt_content.gridelements_pi1 =< lib.contentElement
Sure? I could still use the original as it is written in the example for w / DataProcessing:
lib.gridelements.defaultGridSetup =< lib.contentElement
The problem is that this code
tt_content.gridelements_pi1.20.10.setup {
2col < lib.gridelements.defaultGridSetup
2col.cObject = FLUIDTEMPLATE
2col.cObject.file = {$resDir}/Private/Partials/Gridelements/2spalten.html
}
does not match the new static you included.
Take a look at the basic example shown in the documentation:
https://docs.typo3.org/typo3cms/extensions/gridelements/stable/Chapters/DataProcessing/Index.html
lib.gridelements.defaultGridSetup =< lib.contentElement
lib.gridelements.defaultGridSetup {
templateName.field = tx_gridelements_backend_layout
templateName.ifEmpty = GridElement
layoutRootPaths {
1 = EXT:gridelements/Resources/Private/Layouts/
}
partialRootPaths {
1 = EXT:gridelements/Resources/Private/Partials/
}
templateRootPaths {
1 = EXT:gridelements/Resources/Private/Templates/
}
dataProcessing {
10 = GridElementsTeam\Gridelements\DataProcessing\GridChildrenProcessor
10 {
default {
as = children
# Default options of the grid children processor
# Change them according to the needs of your layout
# Read more about it in the TypoScript section of the manual
# options {
# sortingDirection = ASC
# sortingField = sorting
# recursive = 0
# resolveFlexFormData = 1
# resolveBackendLayout = 1
# respectColumns = 1
# respectRows = 1
# }
}
}
}
}
Now if you want to add your own templates and rendering configurations you just need to add something in dataProcessing.10 like
dataProcessing {
10 = GridElementsTeam\Gridelements\DataProcessing\GridChildrenProcessor
10 {
2col {
as = columncontent
options {
resolveFlexFormData = 0
respectRows = 0
}
}
accordion {
as = accordionitems
options {
resolveFlexFormData = 0
respectRows = 0
respectColumns = 0
}
}
}
}
The name of the variables can still be children, but it might be more comfortable to deal with variable names matching then purpose of your template.
I found the solution:
Template:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<div class="row">
<f:if condition="{children}">
<f:for each="{children.1}" as="column" key="columnNumber">
<div id="c{data.uid}-{columnNumber}" class="grid-column grid-column-{columnNumber} col-lg-6">
<f:for each="{column}" as="child">
<f:render partial="Child"
arguments="{data: child.data, children: child.children, options: options, settings: settings}" />
</f:for>
</div>
</f:for>
</f:if>
</div>
</html>
For two different cols
<div id="c{data.uid}-{columnNumber}" class="grid-column grid-column-{columnNumber} {f:if(condition: '{columnNumber} == 0', then: 'col-lg-3', else: 'col-lg-9')}">
My column numbers are left 0 and right 1
TS in dataprocessing.10:
2col {
as = children
options {
resolveChildFlexFormData = 0
}
}
}
The documentation is wrong you need this
tt_content.gridelements_pi1 =< lib.contentElement
TSconfig:
Default gridelements TSConfig
I got same error after i upgrade to latest TYPO3 10 version from Typo3 9 and include Gridelement (Recommended).
Tried resolving a template file for controller action "Standard->1" in format ".html", but none of the paths contained the expected template file (Standard/1.html). The following paths were checked:
Solution:
Rename gridelement template name with 1.html for gridelement uid=1
Change TS like:
tt_content.gridelements_pi1 {
templateRootPaths {
15 = EXT:site_config/Resources/Private/Templates/Extensions/Grid-Templates/
}
dataProcessing {
10 {
default {
options {
resolveFlexFormData = 1
resolveChildFlexFormData = 0
}
}
}
}
}
Inside Grid-Templates add your gridelement templates like 1.html, 2.html etc.
3) change template(HTML) code like this:
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<div class="row">
<f:if condition="{children}">
<f:for each="{children.1}" as="column" key="columnNumber">
<div id="c{data.uid}-{columnNumber}" class="grid-column grid-column-{columnNumber} col-lg-6">
<f:for each="{column}" as="child">
<f:render partial="Child"
arguments="{data: child.data, children: child.children, options: options, settings: settings}" />
</f:for>
</div>
</f:for>
</f:if>
</div>
</html>
i've got many "compiled" underscore template ( some months ago i save compiled templates to on file, and accidentally remove original templates folder... :( ) is it pissible to "decompile" this templates? one of example:
UV.templates["template-button-widget"] = function() {
return $.trim(function(obj) {
var __t, __p = "",
__j = Array.prototype.join,
print = function() {
__p += __j.call(arguments, "")
};
with(obj || {}) __p += '\n\n <div class="button" data-id="' + (null == (__t = data._id) ? "" : _.escape(__t)) + '">\n\n <div class="icon"></div>\n\n </div>\n\n';
return __p
}.apply(this, arguments))
},
If you read over the source of _.template, you'll find it's simple enough that you could reverse it with a few hours of work. Make sure to find the code for your version of underscore (clearly yours isn't the most recent as there are changes), old docs can be found in the changelog.
Here's the code required to reverse your example template:
var compiled = function() {
return $.trim(function(obj) {
var __t, __p = "",
__j = Array.prototype.join,
print = function() {
__p += __j.call(arguments, "")
};
with(obj || {}) __p += '\n\n <div class="button" data-id="' + (null == (__t = data._id) ? "" : _.escape(__t)) + '">\n\n <div class="icon"></div>\n\n </div>\n\n';
return __p
}.apply(this, arguments))
};
var source = compiled.toString();
// Strip start/end code
source = source.substring(source.indexOf("with(obj || {}) __p += '\\n\\n") + 28);
source = source.substring(0, source.indexOf("\\n\\n';"));
// Reverse escape
source = source.replace(/' \+ \(null == \(__t = ([^)]+)\) \? "" : _.escape\(__t\)\) \+ '/g, "<%- $1 %>");
$('#result').text(source.replace(/\\n/g, "\n"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone-min.js"></script>
<pre id="result"/>
You can manually decompile it.. base on your code your template definition will be:
`<div class="button" data-id="<%= data._id %>'">
<div class="icon"></div>
</div>`
It is easy but for complex template it will be harder.
When I try to have a path follow the mouse pointer in IE 11 it wont work, but it works fine in Chrome.
Please see the code here http://jsfiddle.net/3xy3oba2/1/
<body>
<div id="container" onmousemove="move(event)"></div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script>
var paper = Raphael("container", 500, 500);
console.log("Path redraw test");
var arrow = paper.path("M 250, 250, L 0, 0");
arrow.attr('stroke-width', 2);
arrow.attr('stroke', "#0000FF");
arrow.attr('arrow-end', "classic-wide-long");
function move(event)
{
var x = event.layerX;
var y = event.layerY;
var path = "M 250, 250, L " + x + ", " + y;
arrow.attr('path', path);
}
</script>
</body>
Anyone got a idea about what goes wrong?
The work around mentioned above is this. Remove the arrow head, change the path, add the arrow head back.
Update code here: http://jsfiddle.net/7fz5qb7e/2/
Also found the same solution here, https://groups.google.com/forum/#!topic/raphaeljs/m-H63bb7Nsw
Full JS code here:
<body>
<div id="container" onmousemove="move(event)"></div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script>
var paper = Raphael("container", 500, 500);
console.log("Path redraw test");
var arrow = paper.path("M 250, 250, L 0, 0");
arrow.attr('stroke-width', 2);
arrow.attr('stroke', "#0000FF");
arrow.attr('arrow-end', "classic-wide-long");
function move(event)
{
var x = event.offsetX;
var y = event.offsetY;
var path = "M 250, 250, L " + x + ", " + y;
arrow.attr('arrow-end', "");
arrow.attr("path", path);
arrow.attr('arrow-end', "classic-wide-long");
}
</script>
</body>
I have a problem when I use TRegEx against long text and the long text is coming from web!, I use Indy to get web page source and after that I use Regex to find links! but the problem that Regex not working as it have to be!
my regex:
'/stream_map=(.[^&]*?)&/i'
source:
const HTTP_RESPONSE_OK = 200;
function GetPage(aURL: string): string;
var
Response: TStringStream;
HTTP: TIdHTTP;
begin
Result := '';
Response := TStringStream.Create('');
try
HTTP := TIdHTTP.Create(nil);
try
HTTP.Get(aURL, Response);
if HTTP.ResponseCode = HTTP_RESPONSE_OK then begin
Result := Response.DataString;
end else begin
// TODO -cLogging: add some logging
end;
finally
HTTP.Free;
end;
finally
Response.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
regex : TRegEx;
exper : string;
result : string;
fmatch : TMatchCollection;
begin
//Edit1.Text = http://www.youtube.com/watch?v=rzADrNmwYI0&feature=player_embedded
Memo1.Text := GetPage(Edit1.Text);
exper := '/stream_map=(.[^&]*?)&/i';
regex := TRegEx.Create(exper);
fmatch := regex.Matches(Memo1.Text); //Memo1.Text = web pagesource
ShowMessage(IntToStr(fmatch.Count));
end;
Memo1.Text contain source code of youtube web page: * I couldn't add the whole source code but this part contain what Regex hae to find*
<!DOCTYPE html>
<html lang="ar" dir="rtl" >
<head>
<script>
var yt = yt || {};yt.timing = yt.timing || {};yt.timing.tick = function(label, opt_time) {var timer = yt.timing['timer'] || {};if(opt_time) {timer[label] = opt_time;}else {timer[label] = new Date().getTime();}yt.timing['timer'] = timer;};yt.timing.info = function(label, value) {var info_args = yt.timing['info_args'] || {};info_args[label] = value;yt.timing['info_args'] = info_args;};yt.timing.info('e', "922401,920704,912806,927201,925706,922403,913546,913556,916805,920201,901451");yt.timing.wff = true;yt.timing.info('an', "");if (document.webkitVisibilityState == 'prerender') {document.addEventListener('webkitvisibilitychange', function() {yt.timing.tick('start');}, false);}yt.timing.tick('start');yt.timing.info('li','0');try {yt.timing['srt'] = window.gtbExternal && window.gtbExternal.pageT() ||window.external && window.external.pageT;} catch(e) {}if (window.chrome && window.chrome.csi) {yt.timing['srt'] = Math.floor(window.chrome.csi().pageT);}if (window.msPerformance && window.msPerformance.timing) {yt.timing['srt'] = window.msPerformance.timing.responseStart - window.msPerformance.timing.navigationStart;} </script>
<script>var yt = yt || {};yt.preload = {};yt.preload.counter_ = 0;yt.preload.start = function(src) {var img = new Image();var counter = ++yt.preload.counter_;yt.preload[counter] = img;img.onload = img.onerror = function () {delete yt.preload[counter];};img.src = src;img = null;};yt.preload.start("http:\/\/o-o---preferred---sn-apo3qvuoxuxbt-j5pe---v1---lscache6.c.youtube.com\/crossdomain.xml");yt.preload.start("http:\/\/o-o---preferred---sn-apo3qvuoxuxbt-j5pe---v1---lscache6.c.youtube.com\/generate_204?ip=41.130.156.126\u0026upn=kcE458sG0pI\u0026sparams=algorithm%2Cburst%2Ccp%2Cfactor%2Cid%2Cip%2Cipbits%2Citag%2Csource%2Cupn%2Cexpire\u0026fexp=922401%2C920704%2C912806%2C927201%2C925706%2C922403%2C913546%2C913556%2C916805%2C920201%2C901451\u0026mt=1353328753\u0026ms=au\u0026algorithm=throttle-factor\u0026burst=40\u0026ipbits=8\u0026itag=34\u0026sver=3\u0026signature=714099358414A97203AB854A2368EA03C52C15B1.5A59DBDF733A57676263F529B85080CCB60567C0\u0026mv=m\u0026source=youtube\u0026expire=1353352420\u0026key=yt1\u0026factor=1.25\u0026cp=U0hUSFNQUF9HSkNONF9LSlRFOjNUWG00ckdxbFE2\u0026id=af3003acd9b0608d");</script><title>Katyusha - Original Version - YouTube</title><link rel="search" type="application/opensearchdescription+xml" href="http://www.youtube.com/opensearch?locale=ar_EG" title="بØØ« الÙيديو ÙÙŠ YouTube"><link rel="icon" href="http://s.ytimg.com/yts/img/favicon-vfldLzJxy.ico" type="image/x-icon"><link rel="shortcut icon" href="http://s.ytimg.com/yts/img/favicon-vfldLzJxy.ico" type="image/x-icon"> <link rel="icon" href="//s.ytimg.com/yts/img/favicon_32-vflWoMFGx.png" sizes="32x32"><link rel="canonical" href="/watch?v=rzADrNmwYI0"><link rel="alternate" media="handheld" href="http://m.youtube.com/watch?v=rzADrNmwYI0"><link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.youtube.com/watch?v=rzADrNmwYI0"><link rel="shortlink" href="http://youtu.be/rzADrNmwYI0"> <meta name="title" content="Katyusha - Original Version">
<meta name="description" content="Dedicate to friend "Jenya". Sung by Lidiya Ruslanova.">
<meta name="keywords" content="katusha, Lidiya, katyusha, Ruslanova">
<link rel="alternate" type="application/json+oembed" href="http://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DrzADrNmwYI0&format=json" title="Katyusha - Original Version">
<link rel="alternate" type="text/xml+oembed" href="http://www.youtube.com/oembed?url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DrzADrNmwYI0&format=xml" title="Katyusha - Original Version">
<meta property="og:url" content="http://www.youtube.com/watch?v=rzADrNmwYI0">
<meta property="og:title" content="Katyusha - Original Version">
<meta property="og:description" content="Dedicate to friend "Jenya". Sung by Lidiya Ruslanova.">
<meta property="og:type" content="video">
<meta property="og:image" content="http://i3.ytimg.com/vi/rzADrNmwYI0/mqdefault.jpg">
<meta property="og:video" content="http://www.youtube.com/v/rzADrNmwYI0?version=3&autohide=1">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="480">
<meta property="og:video:height" content="360">
<meta property="og:site_name" content="YouTube">
<meta property="fb:app_id" content="87741124305">
<meta name="twitter:card" value="player">
<meta name="twitter:site" value="#youtube">
<meta name="twitter:player" value="https://www.youtube.com/embed/rzADrNmwYI0">
<meta property="twitter:player:width" content="480">
<meta property="twitter:player:height" content="360">
<link id="css-3848904683" rel="stylesheet" href="http://s.ytimg.com/yts/cssbin/www-core-rtl-vflG11Gbd.css">
<script>
yt.setConfig({
'VIDEO_ID': "rzADrNmwYI0" });
yt.setAjaxToken('watch_actions_ajax', "");
if (window['gYouTubePlayerReady']) {
yt.registerGlobal('gYouTubePlayerReady');
}
</script>
<script>
yt = yt || {};
yt.playerConfig = {"assets": {"css_actions": "http:\/\/s.ytimg.com\/yts\/cssbin\/www-player-actions-vflJeCcsD.css", "html": "\/html5_player_template", "css": "http:\/\/s.ytimg.com\/yts\/cssbin\/www-player-vfltPqzFT.css", "js": "http:\/\/s.ytimg.com\/yts\/jsbin\/html5player-vflfytLU0.js"}, "url": "http:\/\/s.ytimg.com\/yts\/swfbin\/watch_as3-vfle2krMl.swf", "min_version": "8.0.0", "args": {"is_html5_mobile_device": false, "fexp": "909713,914071,901460,922401,920704,912806,927201,925706,922403,913546,913556,916805,920201,901451", "ptk": "youtube_none", "enablecsi": "1", "allow_embed": 1, "rvs": "view_count=125%2C985\u0026feature_type=fvwp\u0026author=ulaghchi\u0026title=Katyusha\u0026length_seconds=158\u0026featured=1\u0026id=5w0k75NuOdk,view_count=106%2C966\u0026author=etalococh\u0026length_seconds=145\u0026id=h-qTrtu6uS4\u0026title=Joseph+Stalin+dancing+Katyusha,view_count=170%2C742\u0026author=lekutski\u0026length_seconds=289\u0026id=Y-wFYkGvX2c\u0026title=%D0%AE.%D0%A8%D0%B5%D0%B2%D1%87%D1%83%D0%BA-%22%D0%A0%D0%B0%D1%81%D0%BA%D0%B8%D0%BD%D1%83%D0%BB%D0%BE%D1%81%D1%8C+%D0%BC%D0%BE%D1%80%D0%B5+%D1%88%D0%B8%D1%80%D0%BE%D0%BA%D0%BE%22,view_count=2%2C053%2C337\u0026author=Vdovkinanadya\u0026length_seconds=127\u0026id=llS6p4YzsaY\u0026title=%D0%9A%D0%B0%D1%82%D1%8E%D1%88%D0%B0+%28%D0%9A%D0%BE%D0%BD%D1%86%D0%B5%D1%80%D1%82+%22%D0%9F%D0%B5%D1%81%D0%BD%D0%B8+%D0%B2%D0%BE%D0%B5%D0%BD%D0%BD%D1%8B%D1%85+%D0%BB%D0%B5%D1%82%22%29,view_count=553%2C516\u0026author=OdessaNLA\u0026length_seconds=230\u0026id=65RhWzrbqPA\u0026title=%D0%9F%D0%B5%D1%81%D0%BD%D0%B8+%D0%BF%D0%BE%D0%B1%D0%B5%D0%B4%D1%8B+2010+%22%D0%9A%D0%B0%D1%82%D1%8E%D1%88%D0%B0%22+%28%D0%9D%D0%A3+%22%D0%9E%D0%AE%D0%90%22%29,view_count=418%2C833\u0026author=myevro\u0026length_seconds=125\u0026id=rnt-7MWxb8M\u0026title=%D0%9A%D0%B0%D1%82%D1%8E%D1%88%D0%B0-%D0%9C%D0%B0%D1%80%D0%B8%D0%BD%D0%B0+%D0%94%D0%B5%D0%B2%D1%8F%D1%82%D0%BE%D0%B2%D0%B0+%D0%B8+%D0%9A%D0%B0%D1%82%D1%8F+%D0%A0%D1%8F%D0%B1%D0%BE%D0%B2%D0%B0.,view_count=97%2C149\u0026author=muratshawn\u0026length_seconds=196\u0026id=C1KFoJfpiao\u0026title=Katyusha+%2F+%D0%9A%D0%B0%D1%82%D1%8E%D1%88%D0%B0+-+Turkish+%26+Russian+Pride+together%21%21%21,view_count=291%2C062\u0026author=%D0%A2%D0%B0%D1%82%D1%8C%D1%8F%D0%BD%D0%B0+%D0%91%D1%83%D0%BB%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0\u0026length_seconds=139\u0026id=-w-0sFmBo0I\u0026title=%22%D0%9A%D0%B0%D1%82%D1%8E%D1%88%D0%B0%22+%D0%A2.%D0%91%D1%83%D0%BB%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0+%28live%29,view_count=126%2C353\u0026author=SovietMusicLover\u0026length_seconds=175\u0026id=MqgHn27h60c\u0026title=Katyusha+English+Version+%28with+lyrics%29,view_count=645%2C699\u0026author=stmnf\u0026length_seconds=103\u0026id=n0kgtHRGkjk\u0026title=%D0%9A%D0%B0%D1%82%D1%8E%D1%88%D0%B0+%D0%BD%D0%B0+%D0%BA%D0%B8%D1%82%D0%B0%D0%B9%D1%81%D0%BA%D0%BE%D0%BC+%28Katyusha+-+Chinese+version%29,view_count=141%2C603\u0026author=joseeash\u0026length_seconds=181\u0026id=nEUqmMNf6dk\u0026title=%D0%9B%D0%B8%D0%B4%D0%B8%D1%8F+%D0%A0%D1%83%D1%81%D0%BB%D0%B0%D0%BD%D0%BE%D0%B2%D0%B0+%D0%9E%D0%BA%D1%80%D0%B0%D1%81%D0%B8%D0%BB%D1%81%D1%8F+%D0%BC%D0%B5%D1%81%D1%8F%D1%86+%D0%B1%D0%B0%D0%B3%D1%80%D1%8F%D0%BD%D1%86%D0%B5%D0%BC,view_count=161%2C453\u0026author=olegtimes\u0026length_seconds=179\u0026id=bmaRGOa0mz4\u0026title=%D0%A0%D0%B0%D1%81%D0%BA%D0%B8%D0%BD%D1%83%D0%BB%D0%BE%D1%81%D1%8C+%D0%BC%D0%BE%D1%80%D0%B5+%D1%88%D0%B8%D1%80%D0%BE%D0%BA%D0%BE...%28%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8+%D0%BC%D0%BE%D0%B5%D0%B3%D0%BE+%D0%B4%D0%B5%D0%B4%D0%B0%29", "vq": "auto", "account_playback_token": "", "autohide": "2", "csi_page_type": "watch5", "keywords": "katusha,Lidiya,katyusha,Ruslanova", "cr": "EG", "fmt_list": "43\/640x360\/99\/0\/0,34\/640x360\/9\/0\/115,18\/640x360\/9\/0\/115,5\/320x240\/7\/0\/0,36\/320x240\/99\/0\/0,17\/176x144\/99\/0\/0", "title": "Katyusha - Original Version", "length_seconds": 178, "feature": "player_embedded", "enablejsapi": 1, "plid": "AATO2QkpPQoh4PMK", "tmi": "1", "watch_xlb": "http:\/\/s.ytimg.com\/yts\/xlbbin\/watch-strings-ar_EG-vfl8x8AOb.xlb", "sdetail": "f:player_embedded,", "url_encoded_fmt_stream_map": "itag=43\u0026url=http%3A%2F%2Fo-o---preferred---sn-apo3qvuoxuxbt-j5pe---v24---lscache6.c.youtube.com%2Fvideoplayback%3Fupn%3DsKXkbQaXRVo%26sparams%3Dcp%252Cid%252Cip%252Cipbits%252Citag%252Cratebypass%252Csource%252Cupn%252Cexpire%26fexp%3D909713%252C914071%252C901460%252C922401%252C920704%252C912806%252C927201%252C925706%252C922403%252C913546%252C913556%252C916805%252C920201%252C901451%26key%3Dyt1%26expire%3D1353356020%26itag%3D43%26ipbits%3D8%26sver%3D3%26ratebypass%3Dyes%26mt%3D1353331452%26ip%3D41.130.156.126%26mv%3Dm%26source%3Dyoutube%26ms%3Dau%26cp%3DU0hUSFNQVF9HSkNONF9LSlhBOnlKX3RvWnNqQmpJ%26id%3Daf3003acd9b0608d\u0026type=video%2Fwebm%3B+codecs%3D%22vp8.0%2C+vorbis%22\u0026fallback_host=tc.v24.cache6.c.youtube.com\u0026sig=49ABA8D1BEFB1DFC8A34723985E46C52C2345836.C90B5EB1FC04705DC80908D5DEB69355D9F27BF3\u0026quality=medium,itag=34\u0026url=http%3A%2F%2Fo-o---preferred---sn-apo3qvuoxuxbt-j5pe---v1---lscache6.c.youtube.com%2Fvideoplayback%3Fupn%3DsKXkbQaXRVo%26sparams%3Dalgorithm%252Cburst%252Ccp%252Cfactor%252Cid%252Cip%252Cipbits%252Citag%252Csource%252Cupn%252Cexpire%26fexp%3D909713%252C914071%252C901460%252C922401%252C920704%252C912806%252C927201%252C925706%252C922403%252C913546%252C913556%252C916805%252C920201%252C901451%26expire%3D1353356020%26algorithm%3Dthrottle-factor%26burst%3D40%26ip%3D41.130.156.126%26itag%3D34%26sver%3D3%26key%3Dyt1%26mt%3D1353331452%26mv%3Dm%26source%3Dyoutube%26ms%3Dau%26ipbits%3D8%26factor%3D1.25%26cp%3DU0hUSFNQVF9HSkNONF9LSlhBOnlKX3RvWnNqQmpJ%26id%3Daf3003acd9b0608d\u0026type=video%2Fx-flv\u0026fallback_host=tc.v1.cache6.c.youtube.com\u0026sig=4FEAD1755F1E057F47DDD670D4AA35BD73A23F26.3FA850543DC5016C9ED03B1C46CFF1A010CB6A66\u0026quality=medium,itag=18\u0026url=http%3A%2F%2Fo-o---preferred---sn-apo3qvuoxuxbt-j5pe---v5---lscache1.c.youtube.com%2Fvideoplayback%3Fupn%3DsKXkbQaXRVo%26sparams%3Dcp%252Cid%252Cip%252Cipbits%252Citag%252Cratebypass%252Csource%252Cupn%252Cexpire%26fexp%3D909713%252C914071%252C901460%252C922401%252C920704%252C912806%252C927201%252C925706%252C922403%252C913546%252C913556%252C916805%252C920201%252C901451%26key%3Dyt1%26expire%3D1353356020%26itag%3D18%26ipbits%3D8%26sver%3D3%26ratebypass%3Dyes%26mt%3D1353331452%26ip%3D41.130.156.126%26mv%3Dm%26source%3Dyoutube%26ms%3Dau%26cp%3DU0hUSFNQVF9HSkNONF9LSlhBOnlKX3RvWnNqQmpJ%26id%3Daf3003acd9b0608d\u0026type=video%2Fmp4%3B+codecs%3D%22avc1.42001E%2C+mp4a.40.2%22\u0026fallback_host=tc.v5.cache1.c.youtube.com\u0026sig=C4E2F657F55A18E9295DD24FFA840608B4253F93.45B3E0816ADA603DC572C59D9E8586AA4385C009\u0026quality=medium,itag=5\u0026url=http%3A%2F%2Fo-o---preferred---sn-apo3qvuoxuxbt-j5pe---v17---lscache8.c.youtube.com%2Fvideoplayback%3Fupn%3DsKXkbQaXRVo%26sparams%3Dalgorithm%252Cburst%252Ccp%252Cfactor%252Cid%252Cip%252Cipbits%252Citag%252Csource%252Cupn%252Cexpire%26fexp%3D909713%252C914071%252C901460%252C922401%252C920704%252C912806%252C927201%252C925706%252C922403%252C913546%252C913556%252C916805%252C920201%252C901451%26expire%3D1353356020%26algorithm%3Dthrottle-factor%26burst%3D40%26ip%3D41.130.156.126%26itag%3D5%26sver%3D3%26key%3Dyt1%26mt%3D1353331452%26mv%3Dm%26source%3Dyoutube%26ms%3Dau%26ipbits%3D8%26factor%3D1.25%26cp%3DU0hUSFNQVF9HSkNONF9LSlhBOnlKX3RvWnNqQmpJ%26id%3Daf3003acd9b0608d\u0026type=video%2Fx-flv\u0026fallback_host=tc.v17.cache8.c.youtube.com\u0026sig=3B3F89080069727F65C5EE42121051AF7807BD78.D028F451AF0CD7C6D2C31D4B66DBB6748B2C63C3\u0026quality=small,itag=36\u0026url=http%3A%2F%2Fo-o---preferred---sn-apo3qvuoxuxbt-j5pe---v8---lscache6.c.youtube.com%2Fvideoplayback%3Fupn%3DsKXkbQaXRVo%26sparams%3Dalgorithm%252Cburst%252Ccp%252Cfactor%252Cid%252Cip%252Cipbits%252Citag%252Csource%252Cupn%252Cexpire%26fexp%3D909713%252C914071%252C901460%252C922401%252C920704%252C912806%252C927201%252C925706%252C922403%252C913546%252C913556%252C916805%252C920201%252C901451%26expire%3D1353356020%26algorithm%3Dthrottle-factor%26burst%3D40%26ip%3D41.130.156.126%26itag%3D36%26sver%3D3%26key%3Dyt1%26mt%3D1353331452%26mv%3Dm%26source%3Dyoutube%26ms%3Dau%26ipbits%3D8%26factor%3D1.25%26cp%3DU0hUSFNQVF9HSkNONF9LSlhBOnlKX3RvWnNqQmpJ%26id%3Daf3003acd9b0608d\u0026type=video%2F3gpp%3B+codecs%3D%22mp4v.20.3%2C+mp4a.40.2%22\u0026fallback_host=tc.v8.cache6.c.youtube.com\u0026sig=903B784F3388B39AC124E407088589455737ECAD.5D858C302F1A4098EBD26D28175F1528A3950733\u0026quality=small,itag=17\u0026url=http%3A%2F%2Fo-o---preferred---sn-apo3qvuoxuxbt-j5pe---v5---lscache6.c.youtube.com%2Fvideoplayback%3Fupn%3DsKXkbQaXRVo%26sparams%3Dalgorithm%252Cburst%252Ccp%252Cfactor%252Cid%252Cip%252Cipbits%252Citag%252Csource%252Cupn%252Cexpire%26fexp%3D909713%252C914071%252C901460%252C922401%252C920704%252C912806%252C927201%252C925706%252C922403%252C913546%252C913556%252C916805%252C920201%252C901451%26expire%3D1353356020%26algorithm%3Dthrottle-factor%26burst%3D40%26ip%3D41.130.156.126%26itag%3D17%26sver%3D3%26key%3Dyt1%26mt%3D1353331452%26mv%3Dm%26source%3Dyoutube%26ms%3Dau%26ipbits%3D8%26factor%3D1.25%26cp%3DU0hUSFNQVF9HSkNONF9LSlhBOnlKX3RvWnNqQmpJ%26id%3Daf3003acd9b0608d\u0026type=video%2F3gpp%3B+codecs%3D%22mp4v.20.3%2C+mp4a.40.2%22\u0026fallback_host=tc.v5.cache6.c.youtube.com\u0026sig=A7B5DE52FA6841DE8EAFE6E0EED1EC6C16BACBDA.5E93B423ACC4C8DC5408F2679B77BA62DFEA5C27\u0026quality=small", "watermark": ",http:\/\/s.ytimg.com\/yts\/img\/watermark\/youtube_watermark-vflHX6b6E.png,http:\/\/s.ytimg.com\/yts\/img\/watermark\/youtube_hd_watermark-vflAzLcD6.png", "timestamp": 1353331463, "storyboard_spec": "http:\/\/i3.ytimg.com\/sb\/rzADrNmwYI0\/storyboard3_L$L\/$N.jpg|48#27#100#10#10#0#default#GqaoUNyA6isSrQNPTbprBE4NYTM|60#45#90#10#10#2000#M$M#sFARy7zZvYQwYsVsY9bympTRZxk|120#90#90#5#5#2000#M$M#k65LP1yOXoOjotxpIEPQsPkjIz4|240#180#90#3#3#2000#M$M#hIi9MEmhmAlaVEse_eDZ0NquQ6g", "showpopout": 1, "hl": "ar_EG", "no_get_video_log": "1", "endscreen_module": "http:\/\/s.ytimg.com\/yts\/swfbin\/endscreen-vflF6koqY.swf", "referrer": null, "video_id": "rzADrNmwYI0", "sendtmp": "1", "sk": "nQCANo-fhqpEFHwwW1pEcr11kG4XFL4MC", "pltype": "contentugc", "t": "vjVQa1PpcFNl5t5AGz5yeB9bo6aI4nZA-J_9nSI_sz8=", "loudness": -18.3199996948}, "url_v9as2": "http:\/\/s.ytimg.com\/yts\/swfbin\/cps-vflYNIJaJ.swf", "params": {"allowscriptaccess": "always", "allowfullscreen": "true", "bgcolor": "#000000"}, "attrs": {"id": "movie_player"}, "url_v8": "http:\/\/s.ytimg.com\/yts\/swfbin\/cps-vflYNIJaJ.swf", "html5": false};
yt.setConfig({
'EMBED_HTML_TEMPLATE': "\u003ciframe width=\"__width__\" height=\"__height__\" src=\"__url__\" frameborder=\"0\" allowfullscreen\u003e\u003c\/iframe\u003e",
'EMBED_HTML_URL': "http:\/\/www.youtube.com\/embed\/__videoid__"
});
yt.setMsg('FLASH_UPGRADE', "\u003cdiv class=\"yt-alert yt-alert-default yt-alert-error yt-alert-player\"\u003e \u003cdiv class=\"yt-alert-icon\"\u003e\n \u003cimg s\u0072c=\"\/\/s.ytimg.com\/yts\/img\/pixel-vfl3z5WfW.gif\" class=\"icon master-sprite\" alt=\"\u0631\u0645\u0632 \u0627\u0644\u062a\u0646\u0628\u064a\u0647\"\u003e\n \u003c\/div\u003e\n\u003cdiv class=\"yt-alert-buttons\"\u003e\u003c\/div\u003e\u003cdiv class=\"yt-alert-content\" role=\"alert\"\u003e \u003cspan class=\"yt-alert-vertical-trick\"\u003e\u003c\/span\u003e\n \u003cdiv class=\"yt-alert-message\"\u003e\n \u064a\u062c\u0628 \u062a\u0631\u0642\u064a\u0629 Adobe Flash Player \u0644\u0645\u0634\u0627\u0647\u062f\u0629 \u0647\u0630\u0627 \u0627\u0644\u0641\u064a\u062f\u064a\u0648. \u003cbr\u003e \u003ca href=\"http:\/\/get.adobe.com\/flashplayer\/\"\u003e\u0646\u0632\u0651\u0644\u0647 \u0645\u0646 Adobe.\u003c\/a\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e");
yt.setMsg('PLAYER_FALLBACK', "\u003cdiv class=\"yt-alert yt-alert-default yt-alert-error yt-alert-player\"\u003e \u003cdiv class=\"yt-alert-icon\"\u003e\n \u003cimg s\u0072c=\"\/\/s.ytimg.com\/yts\/img\/pixel-vfl3z5WfW.gif\" class=\"icon master-sprite\" alt=\"\u0631\u0645\u0632 \u0627\u0644\u062a\u0646\u0628\u064a\u0647\"\u003e\n \u003c\/div\u003e\n\u003cdiv class=\"yt-alert-buttons\"\u003e\u003c\/div\u003e\u003cdiv class=\"yt-alert-content\" role=\"alert\"\u003e \u003cspan class=\"yt-alert-vertical-trick\"\u003e\u003c\/span\u003e\n \u003cdiv class=\"yt-alert-message\"\u003e\n \u064a\u0644\u0632\u0645 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0647\u0646\u0627\u0643 \u0645\u062a\u0635\u0641\u062d \u064a\u062a\u0648\u0641\u0631 \u0628\u0647 \u0645\u0634\u063a\u0644 Adobe Flash \u0623\u0648 HTML5 \u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u064a\u062f\u064a\u0648. \u003cbr\u003e \u003ca href=\"http:\/\/get.adobe.com\/flashplayer\/\"\u003e\u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0623\u062d\u062f\u062b \u0645\u0634\u063a\u0644 Flash\u003c\/a\u003e \u003cbr\u003e \u003ca href=\"\/html5\"\u003e\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u062d\u0648\u0644 \u0627\u0644\u062a\u0631\u0642\u064a\u0629 \u0625\u0644\u0649 \u0645\u062a\u0635\u0641\u062d HTML5\u003c\/a\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e");
yt.setMsg('QUICKTIME_FALLBACK', "\u003cdiv class=\"yt-alert yt-alert-default yt-alert-error yt-alert-player\"\u003e \u003cdiv class=\"yt-alert-icon\"\u003e\n \u003cimg s\u0072c=\"\/\/s.ytimg.com\/yts\/img\/pixel-vfl3z5WfW.gif\" class=\"icon master-sprite\" alt=\"\u0631\u0645\u0632 \u0627\u0644\u062a\u0646\u0628\u064a\u0647\"\u003e\n \u003c\/div\u003e\n\u003cdiv class=\"yt-alert-buttons\"\u003e\u003c\/div\u003e\u003cdiv class=\"yt-alert-content\" role=\"alert\"\u003e \u003cspan class=\"yt-alert-vertical-trick\"\u003e\u003c\/span\u003e\n \u003cdiv class=\"yt-alert-message\"\u003e\n \u064a\u0644\u0632\u0645 \u0628\u0631\u0646\u0627\u0645\u062c Adobe Flash Player \u0623\u0648 QuickTime \u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u064a\u062f\u064a\u0648. \u003cbr\u003e \u003ca href=\"http:\/\/get.adobe.com\/flashplayer\/\"\u003e\u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0623\u062d\u062f\u062b \u0625\u0635\u062f\u0627\u0631 \u0645\u0646 Flash Player\u003c\/a\u003e \u003cbr\u003e \u003ca href=\"http:\/\/www.apple.com\/quicktime\/download\/\"\u003e\u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0623\u062d\u062f\u062b \u0625\u0635\u062f\u0627\u0631 \u0645\u0646 QuickTime\u003c\/a\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e");
(function() {
var forceUpdate = yt.www.watch.player.updateConfig(yt.playerConfig);
var youTubePlayer = yt.player.update('watch-player', yt.playerConfig,
forceUpdate, gYouTubePlayerReady);
yt.setConfig({'PLAYER_REFERENCE': youTubePlayer});
})();
</script>
</script>
<script>
yt.setMsg({
'ADDTO_WATCH_LATER_ADDED': "\u062a\u0645\u062a \u0627\u0644\u0625\u0636\u0627\u0641\u0629",
'ADDTO_WATCH_LATER_ERROR': "\u062e\u0637\u0623"
});
</script>
<script>
if (window.yt.timing) {yt.timing.tick("js_foot");} </script>
<div id="debug">
</div>
</body>
</html>
the matches count show "0"
It looks to me as though you are using the wrong syntax for your regex.
'/stream_map=(.[^&]*?)&/i'
looks like Perl regex syntax.
For Delphi's TRegEx you need to remove the slash delimiters and specify case insensitivity through an options parameter. Like this:
regex := TRegEx.Create('stream_map=(.[^&]*?)&', [roIgnoreCase]);