Jump to content

TransEdit


Recommended Posts

Was ist der unterschied zum Scann mit aktiviertem Scan NIT and Update Transponderlist und deaktiviertem Delete Transponders Without Signal/PAT?

..die frage zeigt, dass du kein dxer bist. Die feeds weisen fast nie eine gültige NIT auf. Deleten will er momentan nicht aktive transponder sicher nicht. Dafür hat es viel zu viel mühe gekostet, um sie zu finden :)

Link to comment
  • Replies 87
  • Created
  • Last Reply

Top Posters In This Topic

  • Griga

    19

  • Pfaff_Torben

    14

  • Derrick

    12

  • Engelbert

    8

Verstehe ich immer noch nicht. Wieso kommt ihr nicht mit einer Transponderliste aus? Warum müsst ihr unbedingt mit zwei verschiedenen für die gleiche Satellitenposition hantieren? Sehe ich keinen Sinn drin.

Link to comment
Sehe ich keinen Sinn drin.

Vielleicht am beispiel..

 

Man hat einen ini selbst gepflegt und erweitert und jemand anders auch. jetzt will man sich zusammentun. Man könnte ja abschreiben.. :)

Link to comment

Danke Derrick für die Unterstützung :)

 

//OT

Ist Angel und Roli auch hier? Die wollenl diese Funktion 100%ig

//

 

Warum müsst ihr unbedingt mit zwei verschiedenen für die gleiche Satellitenposition hantieren?

 

Weil in der neuen andere Feed aktiv waren als in der alten.

Wir wollen aber nicht die alten - wenn sie auch gerade offline - Transponderdaten verlieren. Da sie vielleicht wieder kommen. Die meisten Daten wiederholen sich.

 

Ausserdem übersieht der Blindscanner gelegentlich manche Frequenzen und lassen sich nur mit ein bißchen Zeitaufwand finden. Um nicht jedesmal so gründlich suchen zu müssen, wäre es geschickt dazugekommene Daten hinzuzufügen.

 

Ich hoffe du tust uns diesen Gefallen auch wenn du kein DXer bist ;)

 

Vieter

Link to comment

Ob das alles hilft? Die drohung, mehr dxer zusammen zu trommeln wird es auch nicht bringen. Ich meine, ich hätte früher auch schon ähnliche ideen geäussert. @Griga weicht aber nur dem druck der eigenen, freiwilligen überzeugung. Aber wenn er die notwendigkeit nicht versteht, bleibt es ein dilemma :)

 

ach ja.. warum haben editoren meist 2 fenster? Transedit ist natürlich kein editor, sondern ein scanner ;)

Link to comment

Hallo Leute,

 

lasst den Griga doch erstmal die GE aus dem beta holen!!!

 

Torben

 

EDIT:

Warum legt ihr euch nicht für jede Frequenz nen Transponder an. Jeweils H + V mit FEC Auto. Schreibt euch in Delphi ein Prog, das macht die INI. :)

Edited by Pfaff_Torben
Link to comment
Warum legt ihr euch nicht für jede Frequenz nen Transponder an.

@Torben, da hat ja selbst @Griga mehr ahnung vom und verständnis für's Dxen :)

 

ps

ähnlichkeit von smilies mit avataren von boardmitgliedern ist rein zufällig ;)

Link to comment
ps

ähnlichkeit von smilies mit avataren von boardmitgliedern ist rein zufällig idiot.gif

 

LOL, des geile isch auch wie das smiley heißt.

Das passt ja dann.

 

Back to topic:

WARUM DENN NICHT?

 

Schrei doch net so^^

 

Hast du schon mal etwas von der Symbolrate gehört?

Link to comment

ichauchhabenwollen !!!

 

führe schon lange zumindest listen für mich, wo alle transponderdaten einer position gesammelt werden und eine für den NIT.

Link to comment

Aha.

 

Alles eine Zeitfrage. Wenn ich nun gar nichts anderes zu tun hätte.... kann mich allerdings nicht erinnern, wann das seit Enstehen des DVBViewer GE der Fall gewesen wäre.

 

Vielleicht kann ja schon mal jemand genau definieren, unter welchen Bedingungen zwei Transponder in verschiedenen Listen als gleich (also ersetzbar) zu gelten haben.

 

Da es sich um Textdateien handelt, könnte man einen Transponderlisten-Merger auch in VBScript verfassen. Vielleicht ist jemand so nett...?

Link to comment

oha, action :)

 

Vielleicht kann ja schon mal jemand genau definieren, unter welchen Bedingungen zwei Transponder in verschiedenen Listen als gleich (also ersetzbar) zu gelten haben.

Das könnte man versuchen, aber man kann es auch lassen. Dafür müsste man alle physikalischen parameter heranziehen. Frequenz alleine reicht nicht. Schmale träger können dicht beienander liegen, breite nicht... nur bei der coderate (FEC) gibt es eine klare unterscheidung.

 

Die SI als kriterium hinzuziehen, haut auch nicht hin. Es kann durchaus der fall vorkommen, dass zwei schmalbandigen träger dicht zusammenliegen und die SI sich nicht unterscheidet. Trotzdem sind es verschiedene feeds. Man denkt, dass es ein und dasselbe ist aber der content ist verschieden. Bei teilweise unterschiedlicher SI können einem die puffer noch zusätzlich böse streiche spielen, weil die soft vom selben service ausgeht ;)

 

Lange rede kurzer sinn: lohnt nicht ! Einfach alles drin lassen..

 

Zum eigentlichen anliegen. Einfaches copy/paste von einem in einen anderen ini genügt imho völlig. Zum schluss muss das tool die liste nur noch sortieren und durchnummerieren.

Link to comment

Hallo Derrick,

 

Einfaches copy/paste von einem in einen anderen ini genügt imho völlig. Zum schluss muss das tool die liste nur noch sortieren und durchnummerieren.

 

Auch ich hab im Moment net viel Zeit, aber genug Zeit mich der Sache anzunehmen.

 

Vorstellung:

 

Links + Rechts ne Tabelle mit den Transpondern (+ das walt halt zum Satelitten gehört LOFs ...). Alles einstellbar + unter jeder liste ein copy to right/left, der dann den jeweiligen Transponder in die andere Liste kopiert, die dann gleichzeitig sortiert wird.

 

Ich bruch aber ne Weile (1 Woche), weil zur Zeit viele Hausaufgaben. Natürl9ich ist das Prog in Delphi :) .

 

@Griga:

Darf ich? Soll ich?

 

@Derrick:

Unter zwei Bedingungen:

Du löscht das Posting mit Bezug auf meinen Avatar.

Und sagst mir ob, ich nur nach Frequenz sortieren kann oder ab H/V ne Rolle spielt.

Bzw ob es theoretisch möglich ist, dass es zwei Transponder auf der gleichen Frequenz gibt, die sich nur durch H/V unterscheiden und wenn ja, was dann zuerst kommen soll.

 

Torben

 

EDIT:

Das Prog soll dann übrigens einfach die INI im TransEdit Format wieder speicher, ja?

Edited by Pfaff_Torben
Link to comment
Links + Rechts ne Tabelle mit den Transpondern (+ das walt halt zum Satelitten gehört LOFs ...). Alles einstellbar + unter jeder liste ein copy to right/left, der dann den jeweiligen Transponder in die andere Liste kopiert, die dann gleichzeitig sortiert wird.

Es kann so einfach sein:

 

kleines Programm in dem man 2. Dateien auswählen kann. Dann einen Process Button.

 

Jetzt liest das Programm die erste Datei ein.

Dann liest er die nächste Datei ein und vergleicht jede Zeile mit den Zeilen der 1. Datei.

Wenn sie noch nicht existiert, wird sie einfach am Ende angehängt und inkremitiert die Zahl wieviele Transponder existieren.

Dann wird in einer while Schleife gemacht bis EOF der 2. Datei.

 

Darf ich? Soll ich?

Was soll er dagegen haben? Ist ja ein extra Programm und hat mit TrasnEdit nichts mehr zu tun.

 

Bzw ob es theoretisch möglich ist, dass es zwei Transponder auf der gleichen Frequenz gibt, die sich nur durch H/V unterscheiden und wenn ja, was dann zuerst kommen soll.

 

Ist möglich, Reihenfolge ist egal.

 

Und sagst mir ob, ich nur nach Frequenz sortieren kann oder ab H/V ne Rolle spielt.

 

Das muss das Programm nicht. Dafür hat man ja TransEdit.

 

 

Vieter

 

 

P.S.:

Ich versuche es selber unter C++, aber mit Deteien kann ich nicht umgehen ^_^

Link to comment

Hallo vieter,

 

mit Deteien kann Delphi auch nicht umgehen.

 

Zu deiem Vorschlag:

 

Also wenn schon was mit gleicher Frequenz/Polarisation da ist, nix machen, ansonsten anfügen.

 

Ich mach beides!!!

 

Torben

 

Ich mach dann mal nen neuen Thread auf...

 

Link:

 

LINK ^_^

Link to comment
Vielleicht kann ja schon mal jemand genau definieren, unter welchen Bedingungen zwei Transponder in verschiedenen Listen als gleich (also ersetzbar) zu gelten haben.

..wiederholung nicht weils so schön war, sondern weil es ein echtes problem gibt. TransEdit kann sender unter bestimmten umständen nicht unterscheiden, obwohl sie deutlich unterschiedlich sind.

 

Ich habe hier ein beispiel, wo transedit ausser einem falschen namen auch noch einen falschen v_pid einträgt. Ich kann mir zwar ungefähr vorstellen, wie das passiert, überlasse die genaue erklärung aber gerne @Griga ^_^

 

 

 

 

ps.

@Torben, dein werkzeug muss ich noch testen. Verwürfelte listen habe ich nicht, weil alles sowieso sortiert wird. Man könnte ja einfach ein paar einträge mit copy/paste vertauschen.

Link to comment

Es hat was mit dem Pufferungsverhalten von Geräten zu tun.

 

TransEdit regelt das, indem es permanent die Transportstream ID aus der PAT überwacht. Ändert sie sich während eines Komplettscans inmitten eines Transponderscans, geht TransEdit davon aus, dass aus einem Puffer erneut die PAT des vorher gescannten Transponders gelesen wurde, und beginnt den Transponderscan noch mal von vorne.

 

Wenn jedoch die TID zweier aufeinanderfolgender Transponder identisch ist (was den DVB-Spezifikationen Hohn spottet), kann das natürlich nicht funktionieren.

 

Hast du es schon mit der Option "Stop stream while tuning" probiert? Falls das nichts nützt, dürfte kaum was zu machen sein (außer Transponder einzeln scannen).

Link to comment
Hast du es schon mit der Option "Stop stream while tuning" probiert?

Nein, werde ich aber machen, wenn wieder was geeignetes auftaucht. Diese streams sind natürlich nicht mehr da..

 

Wie wäre es mit zusätzlichen kriterien? Hier böte sich u.a. noch die PAT_version_number an.

Link to comment

So habe heute Nachmittag mich mal selber hingesetzt und Delphi gelernt und angefangen zu Programmieren.

 

Hier ist das Ergebnis:

Download Link

 

 

Das Programm verlangt 2 *.ini Dateien.

Dann auf merge drücken.

Nun hängt er die Dateien der 2. Transponder Datei an die 1. Transponder Datei an.

 

 

 

Vieter

 

P.S.:

Ich kann nur scannen bei "Stop stream while tuning", sonst liest er nichts ein.

ist das normal?

 

Edit: Version 1.1 Final ^_^

Edited by Vieter
Link to comment

Hallo Leute,

 

hier ist mein Programm ;) .

 

Etwas mehr GUI als das von Vieter.

 

ACHTUNG:

Es werden keine Einstellungen (wie Fenstgergröße oder Position gespeichert).

Beim Beenden kommt keine Sicherheitsabfrage bezüglich des Speicherns. Bitte vorher durch Klick auf den entsprechendemn Button erledigen.

 

Für Bug - Postings bitte den Transponder - Edit Tread benutzen.

 

Bitte auch mal testen, danke! ^_^

 

@Derrick:

Ich glaube, das ist das, was du haben wolltest...

 

@Griga:

Den Quellcode stelle ich dir gerne zur Verfügung.

 

Torben

 

 

Edited by Pfaff_Torben
Link to comment
  • 3 weeks later...

TransEdit ist immer sehr hilfreich!

 

Aber:

 

Der Magerversion TransEdit_MMC liegen nur vier *.ini-Dateien bei, nicht aber die 'cable.ini'!

Wer keine TE und (noch nicht) PRO/GE besitzt, kann so nur DVB-S/T-Karten testen - ob sie sich mit dem DVBViewer vertragen.

 

Auch wenn die C-Karten-User in der Minderzahl sind, sollte man ihnen den DVBViewer doch schmackhaft machen - also bitte ergänzen!

Link to comment
Auch wenn die C-Karten-User in der Minderzahl sind, sollte man ihnen den DVBViewer doch schmackhaft machen - also bitte ergänzen!

Was mir noch so auffiel:

Die Transedit MMC setzt die Symbolrate immer auf 0, egal was man eingetippt hat (zumindest bei Kabel).

Die Kabeltransponder enthalten alle die Frequenzen 114,5 und 121,5. Die werden aber z.B. bei KabelBW nicht benutzt und stattdessen die 113 und 121 belegt.

Link to comment
  • 5 months later...

Zwei Wünsche:

  • Veränderbare Breite des Hauptfensters bzw. der rechten Tabelle mit den Transpondern (gerade für "Use Providers as Transponder Description")
  • Eine farbliche Unterlegung der einzelnen Transponder, die anzeigt, ob der jeweilige Tp erfolgreich (oder eben nicht) eingestellt und abgesucht werden konnte - bei mir werden gelegentlich ein paar einzelne Tp übersprungen (mag an der Sat-Anlage liegen), in bunt wäre das viel weniger leicht zu übersehen. Geht bis jetzt halbwegs mit "Add Date to Transponder Description", wenn ich aber aus welchem Grund auch immer einen zweiten Suchlauf an einem Tag machen möchte, muß ich erst die Descriptions zurücksetzen, da sie sich ja sonst nicht ändern...

Auf jeden Fall ein großes Danke an Griga für dieses Programm :)

Link to comment
  • 2 weeks later...

Beide Wünsche werden erfüllt. Und zwar gleich. ;) Der zweite allerdings nicht so bunt wie vorgeschlagen.

 

Zunächst muss ich diesen Thread noch etwas auseinanderpflücken und anders sortieren. Danach gibt es eine neue TransEdit-Testversion im Mitgliederbereich, und die hat es in sich... ;)

Link to comment

Wenn wir gerade bei den Wünschen sind, ich fände es schön wenn es Irgendwann eine Möglichkeit gäbe, sich Sender die in der Kanalliste sind aber bei den aktuellen Suchergebnissen nicht Anzeigen werden z.B. weil sie jetzt verschlüsselt senden oder abgeschaltet wurden (also die Filter Berücksichtigen) anzeigen zu lassen und sie Selektive aus der Kanalliste zu entfernen.

Link to comment

So, die Testversion 2.6 ist verfügbar. Näheres dazu gibt es hier zu lesen.

 

@Tjod: Der Abgleich von Scanergebnissen mit der DVBViewer-Kanalliste ist eine schwierige und prinzipiell unsichere Sache. Verwechselungen sind nicht ausgeschlossen - deshalb ist die "Schärfe" der Wiedererkennung einstellbar ("Same Channel" Treshold). Aus diesem Grund wird es die gewünschten Zusatzfunktionen wahrscheinlich nicht geben.

Link to comment

Erstmal danke für die neue Version ;)

Verwechselungen sind nicht ausgeschlossen
Deshalb das Selektive Löschen.

Aber wenn das kompliziert ist kann ich auch gut ohne die Funktion leben ;) .

Link to comment

Hallo Griga,

 

tolles Programm!!!

 

Was bedeutet "Retune attempts" auf der Hardware Settings Seite?

 

Wunsch:

Datenströme binär aufzunehmen (also die Datei die gesendet wird runterladen), z. B. Firmwareupdates für Reciever

 

Torben

 

EDIT:

Hab mich verklickt und verguckt.

Edited by Pfaff_Torben
Link to comment
Wunsch:

Datenströme binär aufzunehmen (also die Datei die gesendet wird runterladen), z. B. Firmwareupdates für Reciever

..wünschen darf man vieles. Hier würde ich mich sogar anschliessen. Leider übersteigt sowas den rahmen einer tv-anwendung. Du kannst aber schon mal anfangen, hier ein bischen zu lesen :)
Link to comment
  • 3 weeks later...

In der 3.0 gibts nen (kleinen) kosmetischen Bug :bye:

 

Im TS Analyzer kann man die Breite vom SI Table Entries auf der linken und den aufgelisteten PIDS nicht ändern, wenn das Fenster maximiert ist :bounce:

Link to comment

Wunsch:

Datenströme binär aufzunehmen (also die Datei die gesendet wird runterladen), z. B. Firmwareupdates für Reciever

..wünschen darf man vieles. Hier würde ich mich sogar anschliessen. Leider übersteigt sowas den rahmen einer tv-anwendung. Du kannst aber schon mal anfangen, hier ein bischen zu lesen :bye:

 

Was könnte man den damit anfangen? Ich frage deshalb weil ich mir zumindest die SiehFernInfo's schon per Programm herausgeparst habe. Das sollte doch schon mal 80% eines Programmgerüstes darstellen, wenns denn was bringt.

 

mfG erwin

Link to comment
  • 8 months later...

Hallo

 

Meine Hauppauge WinTV Nova-S-Plus wird im neuen Transedit 3.0.6.0 bei "Detect Devices" als DVB-S2 Device erkannt.

Schön wärs... Ich mach den haken natürlich wieder weg...

Der Treiber ist der neuste von Hauppauge : 88x_2_119_25023_whql.zip

Der ist auch für die HVR 4000 zuständig, vielleicht kommt das daher.

hier die Transedit.ini

 

[frmTransEdit]
SatSortType=1
SatSortReverse=0
lvSatellites=140,60,69
lvTransponders=106,101,90,69,304
LastNetwork=Astra 19.0°E
Left=195
Top=610
Width=765
Height=300
LastFrequency=12721
[Version]
EXEVersion=3.0.6.0
IniVersion=768
[frmSettings]
Left=335
Top=221
Width=354
Height=327
cbScanNIT=1
cbMarkNoPAT=1
cbSkipMarked=0
cbProvider=1
cbOverwrite=1
cbDateStamp=0
cbAlwaysFECAuto=0
cbAppendFrequency=0
udTunerLock=2000
udPATTimeout=3000
udPMTTimeout=7500
udSDTTimeout=5000
udNITTimeout=5000
udTreshold=8
cbVideoDecoder=InterVideo NonCSS Video Decoder for Hauppauge
cbH264Decoder=CyberLink H.264/AVC Decoder (PDVD7)
cbAudioDecoder=CyberLink Audio Decoder
edOutputPath=F:\Daten\Eigene Videos\
udBufferSize=2
cbPIDInfo=0
cbReadEIT=1
cbReadEITOther=0
cbReadExtEvent=0
cbExcludeFromEPG=0
cbAcceptError=0
SpectralInversion=2
[frmScanner]
Left=234
Top=272
Width=720
Height=593
lvChannels=114,90,44,56,46,44,44,44,44,44,44,44
cbSortBy=Provider
cbRoot=Astra 19° E
btnGroup=0
rbFTA=0
rbEncrypted=0
rbBoth1=1
rbTV=0
rbRadio=0
rbBoth2=1
cbMultiAudio=1
cbVideoOnly=1
cbData=0
cbPresent=1
[frmPreview]
Left=227
Top=318
Width=678
Height=511
Volume=5440
[frmPID]
Left=-21
Top=-7
Width=1292
Height=907
Splitter=421
PIDStats=100,105,82,84,120,140,1,0
cbTableStatistics=0
cbHex=0
[Hardware]
Name.0=Hauppauge WinTV 88x DVB-S Tuner/Demod
ID.0=@device:pnp:\\?\stream#hcw88bda.m92xx#4&2bf4191a&2&1#{71985f48-1ca1-11d3-9cc8-00c04f7971e0}\{91b0cc87-9905-4d65-a0d1-5861c6f22cbf}
TunerType.0=1
Status.0=1
DeviceNr.0=0
DeviceType.0=1
StopStreaming.0=0
AutoRetune.0=0
DVB-S2.0=1
Vendor.0=2
StandardInterface.0=1
TuningSpace.0=Internal

Edited by gwr
Link to comment
Der ist auch für die HVR 4000 zuständig, vielleicht kommt das daher

Jo. Daran liegts: {91b0cc87-9905-4d65-a0d1-5861c6f22cbf}

 

Bringt leider das System, das ich mir für die DVB-S2-Erkennung ausgedacht habe, durcheinander :rolleyes:

Link to comment

Hallo

 

ID.0=@device:pnp:\\?\stream#hcw88bda.m92xx

 

Eventuell ist ja hcw88bda.m92xx aussagekräftig. die 92 habe ich in der hcw88all.inf wiedergefunden; Auszug:

 

; Localizable
;----------------

Hauppauge		  = "Hauppauge"

CX88x.N14x0		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S)"
CX88x.N14x1		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S+IR Blaster)"
CX88x.N14x2		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S+IR)"
CX88x.N14x4		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S)"
CX88x.N69x0		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S2)"
CX88x.N69x1		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S2+IR Blaster)"
CX88x.N69x2		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S2+IR)"
CX88x.N69x4		= "Hauppauge WinTV 88x Video (Hybrid, DVB-T/S2)"
CX88x.N69x5		= "Hauppauge WinTV 88x (DVB-S2)"
CX88x.N69x6		= "Hauppauge WinTV 88x (DVB-S2+IR)"
CX88x.N96x0		= "Hauppauge WinTV 88x Video (DVB-T, MPEG)"
CX88x.N96x1		= "Hauppauge WinTV 88x Video (DVB-T+IR, MPEG)"
CX88x.N96x2		= "Hauppauge WinTV 88x Video (DVB-T+IR Blaster, MPEG)"
CX88x.N92x0		= "Hauppauge WinTV 88x Video (DVB-S)"
CX88x.N92x1		= "Hauppauge WinTV 88x Video (DVB-S+IR Blaster)"
CX88x.N92x2		= "Hauppauge WinTV 88x Video (DVB-S+IR)"
CX88x.DVBT		 = "Hauppauge WinTV 88x Video (DVB-T)"
CX88x.DVBT1		= "Hauppauge WinTV 88x Video (DVB-T+IR)"
CX88x.DVBT2		= "Hauppauge WinTV 88x (DVB-T+IR)"
CX88x.DVBT3		= "Hauppauge WinTV 88x DVB-T"
CX88x.DVBT4		= "Hauppauge WinTV 88x Video (DVB-T+IR Blaster)"
CX88x.M28x0		= "Hauppauge WinTV 88x Video (MPEG+IR+Front)"
CX88x.M28x1		= "Hauppauge WinTV 88x Video (MPEG+Front)"
CX88x.M28x3		= "Hauppauge WinTV 88x Video (MPEG,OEM)"
CX88x.M28x5		= "Hauppauge WinTV 88x Video (MPEG,OEM)"
CX88x.IR		   = "Hauppauge WinTV 88x Video (+IR)"
CX88x.IRBlast	  = "Hauppauge WinTV 88x Video (+IR Blaster)"
CX88x.NoIR		 = "Hauppauge WinTV 88x Video"
CX88x.VCB		  = "Hauppauge WinTV 88x Video (VCB)"
CX88x.Blank		= "Hauppauge WinTV 88x Video (Blank or non-HCW EEprom)"
CX88x.null		 = "Hauppauge WinTV 88x (unused function)"
CX88x.Audio		= "Hauppauge WinTV 88x Audio"
CX88x.Capture	  = "Hauppauge WinTV 88x Video Capture"
HCW88VID.DeviceDesc= "Hauppauge WinTV 88x Video"

CX88x.TVaudio	  = "Hauppauge WinTV 88x TvAudio"

 

Danach hätten die DVB-S2 karten hcw88bda.m69xx , das deckt sich auch mit dem hier

 

Vielleicht findest du ja auch noch was besseres in den inf-Dateien des Treibers

 

mfG Gerd

 

Edit: Schreibfehler hatte statt "hcw88bda","hwc88bda" geschrieben.jetzt is richtig

Edited by gwr
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...